Python—合并两个带有公共键值的字典,并添加值
使用 Python 分析数据时,我们会遇到必须以这种方式合并两个字典的情况,即对键具有相同值的那些元素进行值相加。在本文中,我们将看到添加这种两个字典的情况。
For 循环和 | 运算符
采用此方法时,我们会设计一个 for 循环,以检查两个字典中键值是否存在,然后再将其相加。最后,使用 | 运算符(字典可用)合并两个字典。
示例
dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6} dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4} # Add with common key for key in dictB: if key in dictA: dictB[key] = dictB[key] + dictA[key] else: pass res = dictA | dictB print(res)
运行上述代码会得到以下结果 −
输出
{'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10}
使用计数器
Collections 模块中的 Counter 函数可直接用于合并两个字典,这样可以保留键。然后会将值添加到匹配的键中。
示例
from collections import Counter dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6} dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4} res = Counter(dictA) + Counter(dictB) print(res)
运行上述代码会得到以下结果 −
输出
Counter({'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10})
广告