1

我正在使用这个gist 的defaultdict 单行树。

def tree(): return defaultdict(tree)

[]目前,您必须为要添加的每个节点单独提供一个。

IE:

users = tree()
users['harold']['username']['hrldcpr']
users['handler']['username']['matthandlersux']

我的问题是,我如何能够展平输入,以便我可以提供一个列表来实现相同的结果?

IE:

users = tree()
users['harold', 'username', 'hrldcpr']
users['handler', 'username', 'matthandlersux']

谢谢你的帮助!

4

1 回答 1

2

您可以简单地定义一个函数,例如insert通过提供一个listtree作为参数来创建节点。

def insert(tree, List):
    for node in List:
        tree = tree[node]

users = tree()
insert(users, ['harold', 'username', 'hrldcpr'])

将创建一个结构为{'harold' : {'username' : {'hrldcp' : {} } } }

于 2014-09-29T11:17:28.657 回答