Ich habe Probleme beim Erstellen einer Baumhierarchie in Python 3. Ich möchte dies ohne Verwendung von Klassen tun können.Rekursive Erstellung einer Baumhierarchie ohne Verwendung von Klasse/Objekt
Die Daten, die ich mit beginnen muß, ist nicht in Ordnung und im Format ['ID','Parent']
:
data=[['E1', 'C1'],['C1', 'P1'],['P1', 'R1'],['E2', 'C2'],['C2', 'P2'],['P2', 'R1'],['C3', 'P2'],['E3', 'C4'],['C4', 'P3'],
['P3', 'R2'],['C5', 'P3'],['E4', 'C6'],['C6', 'P4'], ['P4', 'R2'],['E5', 'C7'],['C7', 'P5'],['P5', 'R3'],['E6', 'C9'],['C9', 'P6'],['P6', 'R3'],
['C8', 'P6'],['E7', 'C10'],['C10', 'P7'],['P7', 'R4'],['C11', 'P7'],['E8', 'C12'],['C12', 'P8'],['P8', 'R4']]
Ich mag den (Baum) Wörterbuch Variable ohne die Verwendung von Klassen und am Ende mit etwas schaffen wie:
Tree={'R1':{'P1':{},'P2':{}},'R2':{}} etc
ODER
Tree={'R1':[{'P1':[],'P2':[]}],'R2':[]} etc
Offensichtlich haben R1 und R2 mehr Kinder als das, aber vielleicht würde die Baumstruktur so aussehen?
Ist alles bekannt über die Reihenfolge, in der die Elemente in den Daten erscheinen? –
Sie wissen, dass Sie nicht den gleichen Schlüssel mit verschiedenen Elementen in dict verwenden können, oder? ;) – alfasin
Python-Wörterbücher müssen eindeutige Schlüssel haben. Wenn Sie versuchen, etwas wie '{'ID': 1, 'ID': 2}' zu definieren, werden Sie mit '{' ID ': 2} 'enden, weil die zweite' 'ID' 'die erste überschreibt . –