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

Python如何对列表中字典的price字段求和并存入subtotal变量

订单商品总价计算实现方法

核心逻辑是遍历列表时通过字典键索引取出对应价格值做累加即可,以下是两种常用实现:

方法1:基础for循环实现(对应遍历思路)

先初始化累加变量为0,遍历订单列表的每一个元素(每个元素都是存储商品信息的字典),通过["price"]键取出当前商品价格,累加到总价变量上即可:

# 原始订单数据
order = [{"name": 'espresso', "price": 1.99},
         {"name": 'coffee', "price": 2.50},
         {"name": 'cake', "price": 2.79},
         {"name": 'soup', "price": 4.50},
         {"name": 'sandwich', "price": 4.99}]

subtotal = 0
for item in order:
    # 提取当前商品的price字段值累加
    subtotal += item["price"]

运行后subtotal的计算结果为16.77。

方法2:精简写法(内置sum函数实现)

如果不想手动写累加逻辑,可以直接用Python内置的sum()函数,配合生成器表达式一行完成计算,逻辑和手动循环完全一致:

subtotal = sum(item["price"] for item in order)

注意:如果订单列表里可能存在缺失price键的字典,直接取键会抛出KeyError异常,这种场景可以给取值加默认值,比如item.get("price", 0),缺失价格时默认按0计算即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:24:27