我有这个字典列表:
[
{"node": "root", "children": ["a"]},
{"node": "a", "children": ["b", "b"]},
{"node": "b", "children": ["c", "c", "c"]},
{"node": "c", "children": ["d"]},
]
Run Code Online (Sandbox Code Playgroud)
代表一棵压缩树。我的意思是这个字典列表代表以下树:
我可以将这个字典列表转换成什么样的数据结构,以便我可以将其扩展为树?我正在考虑将字典列表展开为:
{"root": [
{"a": [
{"b": [
{"c": [
{"d": "None"}
]
},
{"c": [
{"d": "None"}
]
},
{"c": [
{"d": "None"}
]
}
]
},
{"b": [
{"c": [
{"d": "None"}
]
},
{"c": [
{"d": "None"}
]
},
{"c": [
{"d": "None"}
]
}
]
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
看起来很乱,但本质上是一个嵌套的节点字典到子列表。不太确定如何实现这一目标。欢迎任何其他解压这棵树的想法!
理想情况下,我可以将其放入一些树库中,例如treelib获取列出叶节点、访问父母、祖父母等数据的方法。