【发布时间】:2022-01-12 00:48:52
【问题描述】:
我正在使用嵌套的 defaultdict 来保持代码整洁并减少冗余代码。
我正在构建一个字典,例如:
{"Store1": {"Product1": 1}, "Store2": {"Product1": 2, "Product2": 1}}
我试图实现这个问题的答案Nested dictionary with defaults,这会引发异常:
AttributeError: 'int' object has no attribute 'items'
from collections import defaultdict, Counter
d = defaultdict(lambda: defaultdict(lambda: Counter()))
d["Store1"]["Product1"] += 1
print(d)
反正我可以吗?例如:
d["Store1"]["Product1"] += 1
【问题讨论】:
-
defaultdict(lambda: defaultdict(int))呢? -
这行得通! :)。你能解释一下它为什么起作用吗?如果您将其添加为答案,我也可以将您的评论标记为解决方案。谢谢
标签: python dictionary defaultdict