我从数据库对象中获取,这些对象是在树中排序的数据库的目录项:
db_tree = [
{"id":2, "parent_id":1, "level":1, "name":"parent 1"},
{"id":5, "parent_id":2, "level":2, "name":"child 1 - 1"},
{"id":6, "parent_id":2, "level":2, "name":"child 1 - 2"},
{"id":9, "parent_id":2, "level":2, "name":"child 1- 3"},
{"id":7, "parent_id":5, "level":3, "name":"child 1 - 1 - 1"},
{"id":11, "parent_id":6, "level":3, "name":"children 2- 1"},
{"id":10, "parent_id":7, "level":4, "name":"child 4 levl parent 1"},
{"id":3, "parent_id":1, "level":1, "name":"parent 2"},
{"id":13, "parent_id":3, "level":2, "name":"parent 2- 1 - chil"},
{"id":4, "parent_id":1, "level":1, "name":"parent 3"},
{"id":8, "parent_id":1, "level":1, "name":"parent 4"}
]
该列表已按树排序,即有一个父节(级别1),如果有子节,则为第1级的下一节。我需要把这些数据带到这种字典里:
tree = {}
tree['parent 1'] = {}
tree['parent 1']['child 1 - 1'] = {}
tree['parent 1']['child 1 - 1']['child 1 - 1 - 1'] = {}
tree['parent 1']['child 1 - 1']['child 1 - 1 - 1']['child 4 levl parent 1'] = {}
tree['parent 1']['child 1 - 2'] = {}
tree['parent 1']['child 1 - 2']['children 2- 1'] = {}
tree['parent 1']['child 1- 3'] = {}
tree['parent 1']['child1']['child3'] = {}
tree['parent 2'] = {}
tree['parent 2']['parent 2- 1 - chil'] = {}
tree['parent 3'] = {}
tree['parent 4'] = {}
如果有人遇到或做了这件事,请告诉我
您可以跟踪ID到它在树中的位置的映射,以及实际树的另一个映射。你知道吗
我将递归地构建
tree
:输出:
要获得更好的代码可编性和可视化效果,可以使用
networkx
的优点:不幸的是,它没有简单的方法将图形转换为嵌套字典的数据结构。你知道吗
输出:
相关问题 更多 >
编程相关推荐