python – 动态生成字典键[复制]

参见英文答案 > In a dict of dicts, how do you emulate Perl’s auto-vivification behavior?                                     4个
使用深层嵌套的python dicts,我希望能够在这样的数据结构中分配值,如下所示:

  mydict[key][subkey][subkey2]="value"

无需检查mydict [key]等实际上是否设置为dict,例如运用

  if not key in mydict: mydict[key]={}

子代的创建应该在飞行中发生.什么是允许等价的最优雅的方式 – 可能在标准< type'dict'>?上使用装饰器?

解决方法:

class D(dict):
    def __missing__(self, key):
        self[key] = D()
        return self[key]

d = D()
d['a']['b']['c'] = 3
上一篇:day4装饰器 decorator


下一篇:如何使用外部夹具跳过pytest?