Criando recursivamente uma hierarquia de árvore sem usar classe / objeto
Estou com problemas para criar uma hierarquia de árvores no Python 3. Gostaria de fazer isso sem usar classes.
Os dados com os quais eu preciso começar não estão em ordem e no formato['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']]
Eu quero criar a variável de dicionário (Árvore)sem o uso de classes e acabar com algo como:
Tree={'R1':{'P1':{},'P2':{}},'R2':{}} etc
OU
Tree={'R1':[{'P1':[],'P2':[]}],'R2':[]} etc
Obviamente, R1 e R2 têm mais filhos do que isso, mas talvez seja assim que a estrutura da árvore seria?