有谁知道 Python 中是否有用于无限嵌套字典的标准类?
我发现自己在重复这种模式:
d = defaultdict(lambda: defaultdict(lambda: defaultdict(int)))
d['abc']['def']['xyz'] += 1
如果我想添加“另一层”(例如d['abc']['def']['xyz']['wrt']
),我必须定义另一个 defaultdicts 嵌套。
为了概括这种模式,我编写了一个简单的类,它重写__getitem__
以自动创建下一个嵌套字典。
例如
d = InfiniteDict(('count',0),('total',0))
d['abc']['def']['xyz'].count += 0.24
d['abc']['def']['xyz'].total += 1
d['abc']['def']['xyz']['wrt'].count += 0.143
d['abc']['def']['xyz']['wrt'].total += 1
但是,有谁知道这个想法的预先存在的实现?我试过谷歌搜索,但我不确定这会叫什么。