首页 >后端开发 >Python教程 >我如何以 Python 方式组合两个字典,对公共键的值求和?

我如何以 Python 方式组合两个字典,对公共键的值求和?

Susan Sarandon
Susan Sarandon原创
2024-12-10 17:23:16236浏览

How Can I Pythonically Combine Two Dictionaries, Summing Values for Common Keys?

以 Python 方式组合两个字典

通常,在 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}

换句话说,如果一个键同时出现在两个字典中,则它们的值应该相加向上,而仅存在于一个字典中的键应保留其原始值。

在 Python 中实现此目的的一种优雅方法是利用集合模块中的 Counter 类:

from collections import Counter

A = Counter({'a': 1, 'b': 2, 'c': 3})
B = Counter({'b': 3, 'c': 4, 'd': 5})
result = A + B

Counter 类通过提供一种简单的方法来跟踪值的出现次数(计数),从而扩展了字典的功能。在我们的例子中,我们为两个字典创建 Counter 对象,然后使用运算符将​​它们组合起来。结果是一个新的 Counter 对象,其中累积匹配键的计数。将 Counter 对象转换回字典即可为我们提供所需的组合字典。

以上是我如何以 Python 方式组合两个字典,对公共键的值求和?的详细内容。更多信息请关注PHP中文网其他相关文章!

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