You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python相同键字典对应数值相加报错及实现方案

同键字典对应数值累加的实现方法

你原有代码报错的核心原因是:Python不支持直接将dict类型强制转换为float/int数值类型,也没有定义默认的字典加法规则,因此触发了类型错误。

方法1:字典推导式(无依赖,兼容性最好)

由于你确认两个字典的键完全一致,直接遍历任意一个字典的键,取两个字典对应值累加即可:

mcdonalds_sausage_mcgriddle = {'calories': 550, 'fat': 33, 'carbs': 44, 'protein': 19}
fairlife_choc_milk = {'calories': 140, 'fat': 5, 'carbs': 13, 'protein': 13}

bkfast = {key: mcdonalds_sausage_mcgriddle[key] + fairlife_choc_milk[key] for key in mcdonalds_sausage_mcgriddle}
print(bkfast)

运行后输出结果和你预期完全一致:{'calories': 690, 'fat': 38, 'carbs': 57, 'protein': 32}

方法2:使用标准库Counter(代码最简洁)

Python内置的collections.Counter类天生支持同键数值的加法运算,非常适合这类计数类字典的累加场景:

from collections import Counter

mcdonalds_sausage_mcgriddle = {'calories': 550, 'fat': 33, 'carbs': 44, 'protein': 19}
fairlife_choc_milk = {'calories': 140, 'fat': 5, 'carbs': 13, 'protein': 13}

# 累加后可按需转换为普通字典
bkfast = dict(Counter(mcdonalds_sausage_mcgriddle) + Counter(fairlife_choc_milk))
print(bkfast)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:57:04