首页 > 解决方案 > 如何快速分配一个python dict链?

问题描述

假设我要分配:

my_dict={}
my_dict['a'] = {}
my_dict['a']['b'] = {}
my_dict['a']['b']['c'] = 'd'

有没有快速的方法来做到这一点?像my_dict['a']['b']['c']='d'什么?

标签: python

解决方案


您可以使用递归 defaultdict 执行此操作:

from collections import defaultdict

def tree():
    def the_tree():
        return defaultdict(the_tree)
    return the_tree()

将树包装在闭包(“私有”本地函数范围)中很重要。tree如果名称被重新绑定或删除,这可以防止现有实例中断。


推荐阅读