You need to enable JavaScript to run this app. Python如何对字典中相同键对应的数值求和生成新字典
优惠活动
大模型
产品
解决方案
定价
更多

Python如何对字典中相同键对应的数值求和生成新字典

实现方案

首先要注意:Python原生字典不允许存在重复键,你示例中写的Dict1直接在Python中定义时,后面的重复键会直接覆盖前面的同名键值,无法保留所有待统计数据,因此需要先把所有键值对存储为元组列表再进行求和计算。

准备待统计数据

将你给出的所有键值对整理为元组列表格式:

data = [
    ("AAT", 2), ("CCG", 1), ("ATA", 5), ("GCG", 7), 
    ("CGC", 2), ("TAG", 1), ("GAT", 0), ("AAT", 3), 
    ("CCG", 2), ("ATG", 5), ("GCG", 3), ("CGC", 7), 
    ("TAG", 0), ("GAT", 0)
]

实现方法1:使用collections.defaultdict(简洁写法)

from collections import defaultdict

dict2 = defaultdict(int)
for key, val in data:
    dict2[key] += val

# 转换为普通字典(可选)
dict2 = dict(dict2)
print(dict2)

实现方法2:不依赖额外库,用原生字典实现

dict2 = {}
for key, val in data:
    if key in dict2:
        dict2[key] += val
    else:
        dict2[key] = val
print(dict2)

输出结果

两种方法的输出均为:
{'AAT': 5, 'CCG': 3, 'ATA': 5, 'GCG': 10, 'CGC': 9, 'TAG': 1, 'GAT': 0, 'ATG': 5}
如果你不需要ATG键,可以手动删除该键值对即可匹配你给出的预期Dict2结构。


内容的提问来源于stack exchange,提问作者diya09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 06:12:01