如何在字典中添加具有相同键的值

2024-10-06 08:54:04 发布

您现在位置:Python中文网/ 问答频道 /正文

如何添加具有相同键的值。有什么黑客可以像sum(int(v)))

m = {'Rash': 1, 'Manjeet': 1, 'Akash': 3}, {'Rash': 3, 'Manjeet': 4, 'Akash': 4}
l = []
for i in m:
    #print (i)
    for j in i.items():
        l.append(j)
from collections import defaultdict
f = defaultdict(list)
for k, v in l:
    f[k].append(int(v)) #hack
for i,j in f.items():
    print (i,sum(j)) 

我的朋友出去了

Rash 4
Manjeet 5
Akash 7

我的预期出局了

{'Rash': 4, 'Manjeet': 5, 'Akash': 7}

Tags: infromimportforitemscollectionslistint
1条回答
网友
1楼 · 发布于 2024-10-06 08:54:04

您可以使用^{}获得更简单的方法:

from collections import Counter
c = Counter()
for d in m:
    c += d

print(c)
# Counter({'Akash': 7, 'Manjeet': 5, 'Rash': 4})

或使用defaultdict

out = defaultdict(int)
for d in m:
    for k,v in d.items():
        out[k] += v

print(out)
# defaultdict(<class 'int'>, {'Rash': 4, 'Manjeet': 5, 'Akash': 7})

相关问题 更多 >