两个字典的合并和总和 [英] Merge and sum of two dictionaries
本文介绍了两个字典的合并和总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
{'6d6e7bf221ae24e07ab90bba4452267b05db7824cd3fd1ea94b2c9a8':6, '7c4a462a6ed4a3070b6d78d97c90ac230330603d24a58cafa79caf42':7, '9c37bdc9f4750dd7ee2b558d6c06400c921f4d74aabd02ed5b4ddb38':9 'd3abb28d5776aef6b728920b5d7ff86fa3a71521a06538d2ad59375a':15, '2ca9e1f9cbcd76a5ce1772f9b59995fd32cbcffa8a3b01b5c9c8afc2':11}
字典中的元素数目也是未知的。
合并考虑两个相同的键,这些键的值应该相加而不是覆盖。 / p>
解决方案
你没有说出你想要合并的方式,所以选择:
x = {'both1':1,'both2':2,'only_x':100}
y = {'both1':10,'both2 ':20,'only_y':200}
print {k:x.get(k,0)+ y.get(k,0)for set in(x)}
打印{对于集合(x)中的k,k:x.get(k,0)+ y.get(k,0) set(y)}
print {k:x.get(k,0)+ y.get(k,0)for set in(x)| set(y)}
结果:
{'both2':22,'only_x':100,'both1':11}
{'both2':22,'both1':11}
{'only_y':200,'both2':22,'both1':11,'only_x':100}
I have a dictionary below, and I want to add to another dictionary with not necessarily distinct elements and merge it's results. Is there any built-in function for this, or will I need to make my own?
{'6d6e7bf221ae24e07ab90bba4452267b05db7824cd3fd1ea94b2c9a8': 6, '7c4a462a6ed4a3070b6d78d97c90ac230330603d24a58cafa79caf42': 7, '9c37bdc9f4750dd7ee2b558d6c06400c921f4d74aabd02ed5b4ddb38': 9, 'd3abb28d5776aef6b728920b5d7ff86fa3a71521a06538d2ad59375a': 15, '2ca9e1f9cbcd76a5ce1772f9b59995fd32cbcffa8a3b01b5c9c8afc2': 11}
The number of elements in the dictionary is also unknown.
Where the merge considers two identical keys, the values of these keys should be summed instead of overwritten.
解决方案
You didn't say how exactly you want to merge, so take your pick:
x = {'both1':1, 'both2':2, 'only_x': 100 }
y = {'both1':10, 'both2': 20, 'only_y':200 }
print { k: x.get(k, 0) + y.get(k, 0) for k in set(x) }
print { k: x.get(k, 0) + y.get(k, 0) for k in set(x) & set(y) }
print { k: x.get(k, 0) + y.get(k, 0) for k in set(x) | set(y) }
Results:
{'both2': 22, 'only_x': 100, 'both1': 11}
{'both2': 22, 'both1': 11}
{'only_y': 200, 'both2': 22, 'both1': 11, 'only_x': 100}
这篇关于两个字典的合并和总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文