假设有2个词典:
A = {'a':1, 'b':2, 'c':3}
B = {'c':2, 'd':2, 'e':4}
如何将它们合并在一起以获得:
C = {'a':1, 'b':2, 'c':5, 'd':2, 'e':4}
我知道A.update(B)
会给我一个合并的字典但是我在A中想要'c'的值会被B中'c'所持有的值覆盖而不是被添加。
答案 0 :(得分:1)
A = {'a':1, 'b':2, 'c':3}
B = {'c':2, 'd':2, 'e':4}
C = {}
for key in A:
C[key] = A[key] + B.get(key,0)
for key in B:
try:
C[key]
except:
C[key] = B[key]
print(C)
因此,您将获得所需的组合词典。
答案 1 :(得分:1)
也许最简单的方法是使用Counter
:
from collections import Counter
A = {'a':1,'b':2,'c':3}
B = {'c':2,'d':2,'e':4}
C = dict(Counter(A) + Counter(B))
print(C)
# {'a': 1, 'b': 2, 'c': 5, 'd': 2, 'e': 4}
答案 2 :(得分:-1)
您可以执行以下操作
A = {'a':1,'b':2,'c':3}
B = {'c':2,'d':2,'e':4}
C = {}
keys_from_a = A.keys()
keys_from_b = B.keys()
total_keys = keys_from_a + keys_from_b
sort(total_keys)
for k in total_keys:
if A[k]:
C[k] = A[k]
elif B[k]:
C[k] = B[k]
else:
continue
print(c)