假设我有两本字典:
A = {'banana':10, 'apple':2, 'pear':5, 'orange':3}
B = {'banana':7, 'orange':5, 'strawberry':4, 'blueberry':1, 'kiwi':10}
现在,我需要打印这些字典的所有差异并将它们全部显示出来(即使
A
中有一个不在 B
或其他中的键),当然还有绝对值,所以结果应该是:c = {'banana':3, 'apple':2, 'pear':5, 'orange':2, 'strawberry':4, 'blueberry':1, 'kiwi':10}
有任何想法吗?我之前看过一些帖子,但只是对这种需求的部分答案。
最佳答案
使用 collections.Counter
:
from collections import Counter
A = {'banana':10, 'apple':2, 'pear':5, 'orange':3}
B = {'banana':7, 'orange':5, 'strawberry':4, 'blueberry':1, 'kiwi':10}
A_Counter, B_Counter = Counter(A), Counter(B)
print((A_Counter - B_Counter) | (B_Counter - A_Counter))
输出:
Counter({'kiwi': 10, 'pear': 5, 'strawberry': 4, 'banana': 3, 'apple': 2, 'orange': 2, 'blueberry': 1})
关于python - 计算 2 个词典中的所有差异并全部显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16197554/