例如,我有两个词:
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)
也就是说:如果两个词中都出现一个键,则添加它们的值,如果它只出现在一个词典中,则保持其值.
我有一个字典列表,我想组合成一个字典,并添加列表中每个字典的值.例如:
ds = [{1: 1, 2: 0, 3: 0}, {1: 2, 2: 1, 3: 0}, {1: 3, 2: 2, 3: 1, 4: 5}]
Run Code Online (Sandbox Code Playgroud)
最终结果应该是单个词典:
merged = {1: 6, 2: 3, 3: 1, 4: 5}
Run Code Online (Sandbox Code Playgroud)
我对性能很感兴趣,我正在寻找能够将n-dictionaries列表合并到一个字典中并对值进行求和的最快实现.一个明显的实现是:
from collections import defaultdict
merged = defaultdict(int)
for d in ds:
for k, v in d.items():
merged[k] += v
Run Code Online (Sandbox Code Playgroud)
在Python 2.6中有更快的方法吗?
我在python中有两个列表:
L1=[[100, 1], [101, 2]]
L2=[[100, 3], [101, 4], [102, 5]]
Run Code Online (Sandbox Code Playgroud)
我想合并他们,所以我得到:
L_merge=[[100, 4], [101, 6], [102, 5]]
Run Code Online (Sandbox Code Playgroud)
重要的是两个列表的大小可能不同.
我试图使用字典但无法弄明白.我很高兴使用numpy,pandas或任何其他工具来获得合并.