代码看起来很冗长,有没有更优雅的方式来解决这个问题,我只是一个初学者。
# NOTE: Don't use any packages, i know it can be solved by importing counter from collections
d1 = {'a': 100, 'b': 200, 'c':300}
d2 = {'a': 300, 'b': 200, 'd':400}
d={}
for i,j in d1.items():
for k,l in d2.items():
if i==k:
c={i:j+l}
d.update(c)
for i,j in d1.items():
if i not in d:
d.update({i:j})
for m,n in d2.items():
if m not in d:
d.update({m:n})
预期输出:
output: {'a': 400, 'b': 400, 'c': 300, 'd': 400}
答案 0 :(得分:4)
执行以下操作:
d1 = {'a': 100, 'b': 200, 'c':300}
d2 = {'a': 300, 'b': 200, 'd':400}
all_keys = list(d1.keys())+list(d2.keys())
d ={}
for k in all_keys:
d[k] = d1.get(k,0)+d2.get(k,0)
print(d)