使用defaultdict的Python一线树.如何减少所需的参数数量? [英] Python One-Line Tree using defaultdict. How to reduce the number of arguments required?

查看:135
本文介绍了使用defaultdict的Python一线树.如何减少所需的参数数量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用此要点的 defaultdict单行树.

I'm using this gist's defaultdict one-line tree.

def tree(): return defaultdict(tree)

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

Currently, you must provide a separate [] for every node you want to add.

即:

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


我的问题是,我如何能够拼合输入,以便提供一个列表以达到相同的结果?


My question is, how would I be able to flatten the input so that I could provide a list to achieve the same result?

即:

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

感谢您的帮助!

推荐答案

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

You can simply define a funcion, say insert to create the node by providing a list and tree as argument.

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

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

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

这篇关于使用defaultdict的Python一线树.如何减少所需的参数数量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆