[英]How to construct a dynamic tree level by level in python?
我想构建一个动态树。 树的初始状态只有一个根节点,那么,我希望它可以逐层添加节点。 这些添加的节点是根据一些附加功能获取的。 我在 Stack Overflow 中发现了一些类似的问题,例如 How do I build a tree dynamic in Python How do I build a tree dynamic in Python ,但答案并不能满足我的需求和发起者。
import collections
from functools import reduce
def add_element(root, path, data):
if len(path) == 1:
root[path[0]] = data
else:
add_element(root[path[0]], path[1:], data)
tree = lambda: collections.defaultdict(tree)
root = tree()
add_element(root,["top"],{}) #Make a level
add_element(root,["top","level1"],{}) # Make another level
add_element(root,["top","level1","val"],2) #Data
print(root)
正如我提到的,它确实做你想做的事。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.