首页 >后端开发 >Python教程 >如何高效合并Python字典和常用键的求和值?

如何高效合并Python字典和常用键的求和值?

Patricia Arquette
Patricia Arquette原创
2024-12-11 16:22:15705浏览

How Can I Efficiently Merge Python Dictionaries and Sum Values for Common Keys?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn