Python字典合并,合并两个字典并键值相加

 2026-04-08  阅读 94  评论 0

摘要:方法1:使用字典推导式
这种方法通过遍历两个字典的所有键,并将对应值相加:
python
def merge_dicts(d1, d2):
return {k: d1.get(k, 0) +

方法1:使用字典推导式

这种方法通过遍历两个字典的所有键,并将对应值相加:

Python字典合并,合并两个字典并键值相加

python

def merge_dicts(d1, d2):

return {k: d1.get(k, 0) + d2.get(k, 0) for k in set(d1) | set(d2)}

方法2:使用 `collections.defaultdict`

利用 `defaultdict` 来累加值,遍历每个字典的项:

python

from collections import defaultdict

def merge_dicts(d1, d2):

dd = defaultdict(int)

for d in (d1, d2):

for key, value in d.items:

dd[key] += value

return dict(dd)

方法3:使用 `collections.Counter`

`Counter` 类直接支持相加操作,适用于数值类型(整数、浮点数等):

python

from collections import Counter

def merge_dicts(d1, d2):

return dict(Counter(d1) + Counter(d2))

示例

python

d1 = {'a': 1, 'b': 2}

d2 = {'b': 3, 'c': 4}

print(merge_dicts(d1, d2)) 输出: {'a': 1, 'b': 5, 'c': 4}

方法比较

  • 字典推导式:简洁,无需导入模块,适合小规模数据。
  • defaultdict:高效遍历,适合较大的字典。
  • Counter:最简洁且高效,但需确保值为数值类型且需导入模块。
  • 根据具体需求选择合适的方法即可。

    版权声明: 知妳网保留所有权利,部分内容为网络收集,如有侵权,请联系QQ793061840删除,添加请注明来意。

    原文链接:https://www.6g9.cn/qwsh/dd424AD5QUlBTAF0.html

    发表评论:

    关于我们
    知妳网是一个专注于知识成长与生活品质的温暖社区,致力于提供情感共鸣、实用资讯与贴心服务。在这里,妳可以找到相关的知识、专业的建议,以及提升自我的优质内容。无论是职场困惑、情感心事,还是时尚美妆、健康生活,知妳网都能精准匹配妳的需求,陪伴妳的每一步成长。因为懂妳,所以更贴心——知妳网,做妳最知心的伙伴!
    联系方式
    电话:
    地址:广东省中山市
    Email:admin@qq.com

    Copyright © 2022 知妳网 Inc. 保留所有权利。 Powered by

    页面耗时0.0765秒, 内存占用1.7 MB, 访问数据库19次