【发布时间】:2021-09-21 03:41:45
【问题描述】:
我有这个字典列表:
[
{"node": "root", "children": ["a"]},
{"node": "a", "children": ["b", "b"]},
{"node": "b", "children": ["c", "c", "c"]},
{"node": "c", "children": ["d"]},
]
表示压缩树。我的意思是这个 dict 列表代表以下树:
我可以将这个 dict 列表转换成什么样的数据结构,以便我可以将它展开成树?我正在考虑将字典列表展开为:
{"root": [
{"a": [
{"b": [
{"c": [
{"d": "None"}
]
},
{"c": [
{"d": "None"}
]
},
{"c": [
{"d": "None"}
]
}
]
},
{"b": [
{"c": [
{"d": "None"}
]
},
{"c": [
{"d": "None"}
]
},
{"c": [
{"d": "None"}
]
}
]
}
]
}
]
}
看起来很乱,但本质上是子节点列表的嵌套字典。不太确定如何实现这一目标。欢迎任何其他解压缩此树的想法!
理想情况下,我可以将其放入诸如treelib 之类的树库中,以获取列出叶节点、访问父母、祖父母等数据的方法。
【问题讨论】:
-
我认为它只需要一个
for-loop 就可以转换它,而且你可以在没有任何外部模块的情况下完成它。
标签: python data-structures tree hierarchical-data