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

Python中如何对嵌套字典中的Amount wt值进行求和?

高效计算嵌套字典中Amount wt的总和

原代码结构

part_1 = {'Ingredient':'Water', 'Amount wt':40 }
part_2 = {'Ingredient':'Dye', 'Amount wt': 50 }
part_3 = {'Ingredient':'Salt', 'Amount wt':10 }

total_mix = {'index 1': part_1,
             'index 2': part_2,
             'index 3': part_3}

print(total_mix)

需求痛点

当前通过手动提取每个索引的Amount wt值到元组再求和的方式,在字典条目较多时效率极低,需要更简洁的实现方法,同时保留通过索引编号调用信息的功能。

解决方案

方法1:生成器表达式直接求和

无需修改原字典结构,一行代码完成求和,同时完全保留原索引调用功能:

total_weight = sum(item['Amount wt'] for item in total_mix.values())
print(total_weight)  # 输出: 100

原理:遍历total_mix的所有值(即各个子字典),自动提取每个子字典的Amount wt字段值,直接传入sum()计算总和,不管条目数量多少都能自动适配。

方法2:封装为可复用函数

如果需要多次计算或追求代码可读性,可以封装成函数:

def get_total_weight(mix_dict):
    return sum(item['Amount wt'] for item in mix_dict.values())

# 调用示例
total_weight = get_total_weight(total_mix)
print(total_weight)  # 输出: 100

说明

以上两种方法都不会改变total_mix的原有结构,你依然可以通过total_mix['index 1']、total_mix['index 2']等方式获取对应成分的详细信息,完全满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 03:35:15