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

如何用for循环计算嵌套列表索引1、2元素总和并追加至子列表?

解决嵌套列表销售额计算的报错问题

需求说明

给定嵌套列表sales,每个子列表的结构为:

  • 索引0:城市名称
  • 索引1:上半年销售额
  • 索引2:下半年销售额

需要计算每个城市的全年总销售额,并将结果添加到对应子列表的末尾。

错误代码与报错信息

用户尝试的代码

for i in sales:
    i = sum(sales[1],[2])
    
print(sales)

翻译后的报错信息

Traceback (most recent call last):
File "main.py", line 9, in
i = sum(sales[1],[2])
TypeError: 只能将列表与列表拼接,不能将字符串与列表拼接

错误原因分析

  1. sum函数使用错误:sum()的第一个参数应是可迭代的数值序列,第二个参数是求和的初始值。你传入的sales[1]是包含字符串的列表(['Los Angeles', 85899, 91021]),无法直接求和;同时[2]作为初始值,会触发字符串与列表拼接的类型错误。
  2. 未修改原列表:循环中给i赋值不会改变原列表的内容,需要用列表方法直接操作子列表。

正确代码实现

sales = [
    ['New York', 105820, 112180],
    ['Los Angeles', 85899, 91021],
    ['Tampa', 35010, 32001],
    ['Washington', 37011, 39595]
]

# 遍历每个城市的销售数据
for city_data in sales:
    # 计算全年总销售额:上半年+下半年
    annual_total = city_data[1] + city_data[2]
    # 将结果添加到子列表末尾
    city_data.append(annual_total)

print(sales)

代码逻辑说明

  • 遍历sales中的每个子列表city_data,直接操作原列表元素
  • 提取子列表中索引1和2的数值相加,得到全年销售额
  • 使用append()方法将计算结果追加到子列表末尾,完成原列表的修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:41:18