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

Python中对元组列表内同名元素的数值求和方法

解决元组列表同名元素数值求和问题

你可以借助字典来实现这个需求,核心思路是用单位+食材名称作为唯一标识(避免不同单位的同名食材混淆),用字典值来累计对应数量,具体实现步骤如下:

  1. 初始化一个空字典,用于存储每种食材的累计数量
  2. 遍历原元组列表,对每个元组拆分出数量、单位、食材名
  3. 以(单位, 食材名)作为字典的键,将数量累加到对应键的值中(如果键不存在就初始化为当前数量)
  4. 最后把字典中的键值对转换回要求的元组格式

示例代码:

original_list = [
    (300.0, 'g', 'peanuts'),
    (0.5, 'tsp', 'salt'),
    (2.0, 'tsp', 'oil'),
    (300.0, 'g', 'peanuts'),
    (1.0, 'tsp', 'salt'),
    (3.0, 'tsp', 'oil')
]

total_dict = {}
for amount, unit, name in original_list:
    key = (unit, name)
    if key in total_dict:
        total_dict[key] += amount
    else:
        total_dict[key] = amount

# 转换为目标格式的列表
result = [(value, key[0], key[1]) for key, value in total_dict.items()]
print(result)

运行后会输出:

[(600.0, 'g', 'peanuts'), (1.5, 'tsp', 'salt'), (5.0, 'tsp', 'oil')]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 08:12:07