python 'int' 对象不可迭代。请

python 'int' object is not iterable. Please

提问人:Batuhan Koyuncu 提问时间:9/25/2023 最后编辑:Suraj ShourieBatuhan Koyuncu 更新时间:9/25/2023 访问量:27

问:

法典:

liste10=[1,[2,3],[4,5,6,7]]
for i in liste10:
    for x in i:
        print(i)

错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[110], line 3
      1 liste10=[1,[2,3],[4,5,6,7]]
      2 for i in liste10:
----> 3     for x in i:
      4         print(x)

TypeError: 'int' object is not iterable

我期待得到 [1,2,3,4,5,6,7]。 我不知道为什么我会得到这样的结果。如果你能帮我解决这个问题,我会很高兴。 s

python 循环 语法错误 可迭代

评论

2赞 Suraj Shourie 9/25/2023
我想你的意思是你的输入是这样的,第一个元素不是列表[[1],[2,3],[4,5,6,7]]
2赞 Thierry Lathuille 9/25/2023
的第一项是整数,而不是列表,所以你不能迭代它。您可能需要一个包含单个项目的列表:liste101liste10 = [[1], .....]

答:

0赞 Maria K 9/25/2023 #1

您可以制作评论中提到的列表列表,即。 以便您的代码按预期工作,或者检查每个对象的类型并采取相应的行动:liste10[[1], [2, 3], [4, 5, 6, 7]]liste10

liste10 = [1, [2, 3], [4, 5, 6, 7]]

for obj in liste10:
    if isinstance(obj, list):
        for x in obj:
            print(x)
    elif isinstance(obj, int):
        print(obj)
    else:
        print("Unknown type!")

输出:

1
2
3
4
5
6
7