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

Python求和时报TypeError: 'int' object is not iterable怎么解决

报错产生原因
  • Python内置sum()函数要求传入可迭代对象(如列表、元组、range对象等)才能完成累加计算,你代码中item_value是持仓数量乘持仓单价得到的单个整数,不属于可迭代对象,直接传入sum()就会触发TypeError: 'int' object is not iterable报错
  • 原代码逻辑存在额外问题:总价值变量sum_value被定义在for循环内部,每次循环都会被重置为0,无法完成多只股票的价值累加计算
修复方法

如果你需要同时输出单只股票持仓价值和整体总持仓价值,可参考如下修改后的代码:

portfolio = [('AAPL',5, 140),('FB',3, 330)]
sum_value = 0
for i in portfolio:
    # 元组本身可以直接下标取值,不需要额外转list
    item_value = i[1] * i[2]
    print(f"{i[0]}持仓价值:{item_value}")
    sum_value += item_value
print(f"总持仓价值:{sum_value}")

如果你只需要计算总持仓价值,可以用更简洁的生成器表达式实现:

portfolio = [('AAPL',5, 140),('FB',3, 330)]
sum_value = sum(item[1] * item[2] for item in portfolio)
print(sum_value)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:54:04