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

Python报错TypeError: object is not iterable 迭代问题求助与修复

问题根源

你犯了一个基础的类型错误:my_list = 123这行代码里,my_list被赋值为整数123,而不是你以为的列表。Python中,只有可迭代对象(比如列表、元组、字符串、生成器等)才能用for...in语句遍历,整数属于不可迭代类型,所以触发TypeError: object is not iterable。

修复方案

根据你的实际需求,有两种常见修复方式:

1. 遍历数字的每一位

如果你的目标是处理123的每一位数字(1、2、3),可以把整数转为字符串遍历,或者直接定义成数字列表:

# 方式1:将整数转为字符串遍历,再转回整数处理
my_num = 123
for char in str(my_num):
    element = int(char)
    # 这里写你的操作,比如打印翻倍后的值
    print(element * 2)
# 方式2:直接定义包含目标数字的列表
my_list = [1, 2, 3]
for element in my_list:
    # 执行你的操作
    print(element + 5)

2. 遍历包含单个整数的列表

如果你的需求是处理整个整数123(只是把它放到列表里遍历),直接把整数放到列表中即可:

my_list = [123]
for element in my_list:
    # 执行你的操作,比如加10
    print(element + 10)
额外说明

你用整数测试没得到预期结果,核心原因就是整数本身不能被循环遍历,必须先将其转换为可迭代结构,或者直接定义为列表类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:22:51