Python int对象不可迭代

Python int对象不可迭代

在考虑Python语言时,我们可以说该错误主要在执行代码时出现,而不是遵循正确的规则。其中一个规则是在程序运行期间遍历int对象。如果我们这样做,将会引发错误,错误名称为 int对象不可迭代。

这里的术语“可迭代”表示按顺序逐个遍历每个字符串或单词以至于结束。

  • 如果我们想要迭代一个整数值,比如说6,我们无法迭代它。
  • 由于我们无法将其进一步分成子序列,所以会弹出错误,我们无法迭代一个整数值。
  • 问题出现了:我们是否可以迭代一个多位数?答案是否定的。这是因为Python编译器将该数视为一个单个数字,在这里我们得出相同的结论,即int对象不可迭代;我们无法将其分解为部分。
  • 如果我们想要从一个由多位数组成的数字中提取每个数字,我们可以使用不同的方法,但是我们可以通过迭代来实现。
  • 为此,我们可以将该特定数字的每个数字存储为列表的形式。

通过上述讨论,我们了解到当我们迭代任何整数值时会出现错误int对象不可迭代,这是不可能的。这个错误属于 TypeError; 类型错误通常在调用任何函数或使用不正确的数据类型运算符时出现。

例如,

如果我们在一个字符串和一个整数对象之间执行加法运算,将会得到一些错误;这个错误主要称为类型错误,因为两个对象的数据类型不匹配。因此,我们可以使用for循环轻松迭代列表对象,但是对于数字来说,我们无法做到相同的事情。我们无法使用for循环来分隔数字的每一位数,如果我们将该特定数字存储在一个列表中,我们就可以做到这一点。

让我们通过一些示例来理解:

TypeError的示例:int对象不可迭代

例1:在这个问题中,我们提供一个随机数,并尝试使用for循环来迭代它。

# Python program to check the TypeError: int object is not iterable
j = int(input("Enter a random number to check the type error: "))
for i in j:
  print(i)

解释:

在上面的示例中,我们可以很容易地发现我们想要通过逐个读取数字来迭代一个数字,比如说10。但是,我们不能这样做,因为它被视为一个单独的数字,无法逐个拆分。为了得到期望的输出,我们可以纠正上面的程序并在其中使用range函数。

上述程序的输出:

Python int对象不可迭代

以上程序的更正:

# Python program to check the TypeError: int object is not iterable
j = int(input("Enter a random number to check the type error: "))
for i in range(j):
  print(i)

在这个更正部分中,我们通过将j传入一个名为range的单一函数来进行替换;在将数字传入range函数之后,Python编程语言将轻松识别range内置函数的工作原理及其主要作用,即默认从0开始返回一系列数字,然后逐一递增,直到达到传入该函数的结束值,该值在参数中传递。

上述程序的输出:

Enter a random number to check the type error: 10
0
1
2
3
4
5
6
7
8
9  

示例2:在此问题中,我们提供了一个随机的数字列表或一些字符串值,并且我们将尝试使用for循环来迭代它。

# Python program to check the TypeError: int object is not iterable
costlist = [200, 219.2, 238, 316.7, 779, 56, 100]
taxlist = []
for index in len(costlist):
    taxlist.append(costlist[index] + (costlist[index] *0.25))
print(taxlist) 

解释:

在上面的示例中,如果我们观察一下,我们可以很容易地发现我们想要逐个读取一个数字,比如说10。但是我们无法这样做,因为它被视为一个单个数字而无法拆分为一个一个的数字。为了获得所需的输出,我们可以纠正上述程序并在其中使用range函数。

上述程序的输出:

Python int对象不可迭代

上述程序的更正:

# Python program to check the TypeError: int object is not iterable
costlist = [200, 219.2, 238, 316.7, 779, 56, 100]
taxlist = []
for index in range(len(costlist)):
    taxlist.append(costlist[index] + (costlist[index] *0.25))
print(taxlist) 

在这个纠正的部分中,我们替换了j,通过将它传递给一个名为range的单个函数;在将数字传递给range函数之后,Python编程语言将很容易识别Python内置函数range的工作方式,它的主要作用是返回一个序列,从默认的0开始逐个递增,直到达到传递给该函数的结束值。

上述程序的输出:

Python int对象不可迭代

示例3:在这个问题中,我们提供了一个随机数,我们将尝试使用for循环来迭代它。

# Python program to check the TypeError: int object is not iterable
num = int(input("Enter a random number to check the type error: "))
for i in num:
  print(i)

解释:

在上面的示例中,如果我们观察一下,我们可以很容易发现我们想要逐个读取一个数字,比如说5,但我们不能这样做,因为它被组合视为一个单个数字,无法拆分为一个一个数字。为了得到期望的输出,我们可以改正上面的程序并在其中使用range函数。

上面程序的输出:

Python int对象不可迭代

以上程序的更正:

# Python program to check the TypeError: int object is not iterable
num = int(input("Enter a random number to check the type error: "))
for i in range(num):
  print(i)

在这个修正的部分中,我们通过将num传入一个名为range的单个函数中来进行替换;在将数字传入range函数之后,Python编程语言将很容易地认识到内置函数range在Python中的工作方式,以及它的主要作用是返回一个从0开始默认递增的数字序列,直到达到传入该函数的结束值。

上述程序的输出:

Enter a random number to check the type error: 10
0
1
2
3
4
5
6
7
8
9   

示例4:在这个问题中,我们提供了一个随机数,我们希望将该数字的所有位数分离出来。

# Python program to check the TypeError: int object is not iterable
num = int(input("Enter a random number to check the type error : "))
Digit=[int(i) for i in num]

解释:

在上述示例中,我们可以发现,我们想通过逐一读取数字来迭代一个数字,假设是110892,但我们无法这样做,因为它被组合并且被视为一个单个数字,并且无法将其分解为单个数字。但是,我们将所有分开的数字存储在一个列表中,以便可以轻松访问该数字的每个数字,但在上述示例中,出现了类型错误,其中int对象不可迭代。为了获取所需的输出,我们可以纠正上述程序。

上述程序的输出:

Python int对象不可迭代

以上程序的更正:

# Python program to check the TypeError: int object is not iterable
num = int(input("Enter a random number to check the type error : "))
Digit=[int(i) for i in str(num)]
print(Digit)

在这个更正部分,我们通过将num传递到一个名为str的单个函数中来进行替换;通过使用这个函数,我们可以轻松地分解特定的数字,并将它们以组合的形式存储在一个列表中,Python编程语言将很容易识别python中内置函数str的工作方式。

以上程序的输出:

Python int对象不可迭代

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程