繁体   English   中英

如何在python中逐级构建动态树?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM