我有一个字典,其中键是元组(对):
dictionary1 = {(0, 1): 0, (2, 7): 3, (4, 7): 0, (1, 3): 0}
(值表示元组出现的次数)
我想转换字典,以便元组中的每个元素都变为key
到新字典,保持与原始字典中相同的value
。我新词典的结构应该是:
dictionary2 = {0: 0, 1: 0, 2: 3, 3: 0, 4: 0, 7: 3}
最简单/最有效的方法是什么?如果元组值出现在多个位置,则新的dict将包含存在的所有元组的值的总和。
答案 0 :(得分:1)
所以你基本上都在寻找一个柜台。幸运的是,python在collections
模块中有一个:
from collections import Counter
c = Counter()
for k, v in d.items():
for i in k:
c[i] += v
或者,使用普通词典:
di = {}
for k,v in d.items():
for i in k:
di[i] = di.get(i, 0) + v