在 Python 中修复 TypeError: Int Object Is Not Iterable 错误
在Python中,当您在操作或函数中使用错误数据类型的对象时,会引发TypeError
。例如,添加字符串和整数将导致TypeError
。
如果你试图循环一个不可迭代的整数,就会出现错误TypeError: 'int' object is not iterable
。Python中的可迭代对象是列表、元组、字典和集合。
本教程将教你修复Python中的TypeError: 'int' object is not iterable
错误。
在 Python 中修复 TypeError: Int Object Is Not Iterable 错误
让我们看一个Python中的TypeError
异常的例子。
s="apple"
counter = 0
for i in len(s):
if i in ('a','e','i','o','u'):
counter += 1
print("No. of vowels:" + str(counter))
输出:
Traceback (most recent call last):
File "c:\Users\rhntm\myscript.py", line 3, in <module>
for i in len(s):
TypeError: 'int' object is not iterable
异常在代码for i in len(s)
的第3行引发,因为len()
返回一个整数值(给定字符串的长度)。在Python中,int
对象是不可迭代的,所以你不能通过整数使用for
循环。
若要修复此错误,必须确保循环遍历可迭代对象。您可以删除len()
函数并迭代字符串。
s="apple"
counter = 0
for i in s:
if i in ('a','e','i','o','u'):
counter += 1
print("No. of vowels:" + str(counter))
输出:
Number of vowels:2
或者,您也可以使用enumerate()
函数来迭代字符串中的字符。
counter = 0
s="apple"
for i, v in enumerate(s):
if v in ('a','e','i','o','u'):
counter += 1
print("No. of vowels:" + str(counter))
输出:
Number of vowels:2
您可以使用dir()
函数检查对象是否可迭代。如果输出包含魔术方法__iter__
,则对象是可迭代的。
s="apple"
print(dir(s))
输出:

字符串s
可迭代。
TypeError
是Python中常见的错误之一。当您使用错误数据类型的对象执行操作或函数时,就会发生这种情况。
当迭代整型数据类型时,会引发错误int object is not iterable
。现在你应该知道如何在Python中解决这个问题。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。