Python: From a list containing tree info, generare a tree in dict format
source_list =[
{'title': 'Project', 'parent':'root'},
{'title': 'Geometry', 'parent':'root'},
{'title': 'Soil', 'parent':'root'},
{'title': 'Geometries', 'parent':'Project'},
{'title': 'Verticals', 'parent':'Project'},
{'title': 'Points', 'parent':'Geometry'},
{'title': 'Layers', 'parent':'Geometry'},
{'title': 'Water', 'parent':'Geometry'},
{'title': 'Soiltypes', 'parent':'Soil'}]
imd=dict()
for d in source_list:
par=d['parent']
v=d['title']
try:
imd[par].append(v)
except:
imd[par]=[v]
imd
{'Project': ['Geometries', 'Verticals'], 'Geometry': ['Points',
'Layers', 'Water'], 'root': ['Project', 'Geometry', 'Soil'], 'Soil':
['Soiltypes']}