在 Python 中合并字典:为重叠键添加值
使用多个字典时,通常需要以有意义的方式组合它们。一种常见的情况是添加出现在两个字典中的键的值,同时保留仅存在于一个字典中的键。
问题:
考虑以下字典:
Dict A: {'a': 1, 'b': 2, 'c': 3} Dict B: {'b': 3, 'c': 4, 'd': 5}
目标是合并这些字典,使得结果是:
{'a': 1, 'b': 5, 'c': 7, 'd': 5}
使用 Collections.Counter 的解决方案:
实现此目的的 Pythonic 且有效的方法是使用 collections.Counter 类。它是 dict 的子类,提供了一种方便的方法来进行基于元素的计数,这非常适合合并字典的任务。
from collections import Counter A = Counter({'a':1, 'b':2, 'c':3}) B = Counter({'b':3, 'c':4, 'd':5})
要合并字典,我们只需添加 Counter 对象:
merged_dict = A + B
结果是一个新的 Counter 对象,它会自动添加重叠的值键:
merged_dict.most_common() # Output: [('c', 7), ('b', 5), ('d', 5), ('a', 1)]
将其转换为常规字典很简单:
merged_dict = dict(merged_dict)
以上是如何高效合并Python字典和常用键的求和值?的详细内容。更多信息请关注PHP中文网其他相关文章!