代码之家  ›  专栏  ›  技术社区  ›  modeller

如何快速分配python dict链?[副本]

  •  1
  • modeller  · 技术社区  · 6 年前

    假设我要分配:

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

    有没有快速的方法可以做到这一点?差不多 my_dict['a']['b']['c']='d' ?

    2 回复  |  直到 6 年前
        1
  •  1
  •   wim    6 年前

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

    from collections import defaultdict
    
    def tree():
        def the_tree():
            return defaultdict(the_tree)
        return the_tree()
    

    将树包装成闭包(“私有”局部函数范围)很重要。这可以防止现有实例在 tree 名称已恢复或删除。

        2
  •  1
  •   it's-yer-boy-chet    6 年前
    mydict = {'a':{'b':{'c':'d'}}}