默认字典按键分组
我有一个默认字典,里面的键和值大概是这样的:
(foo, bar) : 1
(foo2, bar2) : 2
(foo, bar3) : 3
(foo, bar8) : 5
(foo2, bar9) : 6
那么,聚合这些键的最好方法是什么呢?也就是说,我想得到类似这样的结果:
foo : {bar : 1, bar3 : 3, bar8 : 5}
foo2 : {bar2 : 2, bar9 : 6}
1 个回答
3
最简单的方法就是创建一个新的 defaultdict
。假设 dd
是你最开始的字典:
aggregated = collections.defaultdict(dict)
for (key1, key2), val in dd.items():
aggregated[key1][key2] = val