相关疑难解决方法(0)

是否有任何pythonic方法来组合两个dicts(为两个键中出现的键添加值)?

例如,我有两个词:

Dict A: {'a': 1, 'b': 2, 'c': 3}
Dict B: {'b': 3, 'c': 4, 'd': 5}
Run Code Online (Sandbox Code Playgroud)

我需要一种pythonic方式"组合"两个dicts,结果是:

{'a': 1, 'b': 5, 'c': 7, 'd': 5}
Run Code Online (Sandbox Code Playgroud)

也就是说:如果两个词中都出现一个键,则添加它们的值,如果它只出现在一个词典中,则保持其值.

python dictionary

460
推荐指数
12
解决办法
12万
查看次数

Python:优雅地将字典与值的sum()合并

我正在尝试合并来自多个服务器的日志.每个日志都是元组(date,count)列表.date可能会出现不止一次,我希望生成的字典保存所有服务器的所有计数的总和.

这是我的尝试,例如一些数据:

from collections import defaultdict

a=[("13.5",100)]
b=[("14.5",100), ("15.5", 100)]
c=[("15.5",100), ("16.5", 100)]
input=[a,b,c]

output=defaultdict(int)
for d in input:
        for item in d:
           output[item[0]]+=item[1]
print dict(output)
Run Code Online (Sandbox Code Playgroud)

这使:

{'14.5': 100, '16.5': 100, '13.5': 100, '15.5': 200}
Run Code Online (Sandbox Code Playgroud)

正如所料.

因为看到代码的同事,我准备去香蕉了.她坚持认为必须有一个更加Pythonic和优雅的方式,没有这些嵌套的循环.有任何想法吗?

python dictionary

30
推荐指数
3
解决办法
3万
查看次数

标签 统计

dictionary ×2

python ×2