Ho un dizionario che si compone di impiegato-manager come coppie chiave-valore:Unione di valori-chiave Accoppiamenti nel dizionario
{'a': 'b', 'b': 'd', 'c': 'd', 'd': 'f'}
voglio mostrare le relazioni tra dipendenti-manager a tutti i livelli (il capo di dipendenti, il capo del suo capo, il capo del capo del suo capo, ecc.) usando un dizionario. L'output desiderato è:
{'a': [b,d,f], 'b': [d,f], 'c': [d,f], 'd': [f] }
Ecco il mio tentativo che mostra solo il primo livello:
for key, value in data.items():
if (value in data.keys()):
data[key] = [value]
data[key].append(data[value])
posso fare un'altra dichiarazione condizionale per aggiungere il livello successivo, ma questo sarebbe il modo sbagliato di procedere a proposito. Non ho molta familiarità con i dizionari, quindi quale sarebbe un approccio migliore?
__I'm non molto familiare con dizionari in modo che quello che sarebbe un approccio migliore __ - Un database – IanAuld
Non sono sicuro se qualsiasi funzione Python è disponibile per questo scopo, ma Vorrei utilizzare ** l'ordinamento topologico ** per implementare questa funzionalità. – qmaruf
Vedere anche https://en.wikipedia.org/wiki/Disjoint-set_data_structure – OozeMeister