我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python开发时报TypeError: ‘int‘ object is not iterable错误的解决方式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python开发时报TypeError: ‘int‘ object is not iterable错误的解决方式

前言

当我们编写任何程序时,都会遇到一些错误,会让我们有挫败感,所以我有一个解决方案给你。 今天在这篇文章中,我们将讨论错误类型error: 'int' object is not iterable。 我们将讨论为什么会出现此错误以及此错误的一些可能解决方案。请务必阅读到最后,以节省大量调试此错误的时间。

首先,让我们了解“iterable”(可迭代)一词的含义? 可迭代是我们可以从中获取值并相应地使用它们的东西。例如,每当我们使用循环遍历列表或元组时,循环就作为可迭代对象工作,它一次提供一个元素来处理它。 换句话说,您可以将 iterable 视为一次从中获取单个项目的容器。它会按照指示提供物品。

例如:

for i in range(5):
print(i)

当我们在终端中运行这段代码时,我们会得到输出:

0

1

2

3

4

在上面的例子中,我们可以看到 range() 函数返回一个数字列表,变量 i 作为一个容器工作。它一次给出一个值并打印它。 现在我们将了解为什么会发生此错误,我们将检查如何消除这些错误..

错误原因

案例1:

假设您正在编写一个程序,其中给出了一个火车站名称列表。您正在尝试遍历列表并以大写顺序打印所有站名。您已经使用循环来完成这项工作。

例如:

station_names = ['New Delhi', 'Lucknow', 'Patna', 'GorakhPur']
for num in len(station_names):
station_uppercase = station_names[num].upper()
print(station_uppercase)

当我们在终端中运行这个程序时,我们会得到这样的错误。

输出:

Traceback (most recent call last):

File “c:\Users\ASUS\Desktop\Geeksgyan Work\test.py”, line 3, in <module>

for num in len(station_names):
TypeError: ‘int’ object is not iterable

正如在输出本身中提到的那样,在第 3 行中我们得到了错误。 我们得到这个错误是因为我们试图从一个不可能的整数值中迭代值。我们知道 len() 函数返回一个整数值。所以它不能被迭代来获取值。我们只能迭代那些应该是容器的项目,这意味着它们包含一堆值,如列表、元组等。

案例2:

假设给定一个字符串。我们想改变字符的替代情况。表示交替顺序的小写和大写。我们将使用循环来完成,如下例所示。

例子:

string = 'abcdefghij'
new_string = ''
for char in len(string):
if (char % 2 != 0):
    new_string = new_string + string[char].upper()
else:
    new_string = new_string + string[char]

            print(f"After alternating case changes : {new_string}")

当我们尝试在终端中运行它时,我们会遇到错误:'int' object is not iterable。

输出:

PS C:\Users\ASUS\Desktop\Geeksgyan Work> python -u “c:\Users\ASUS\Desktop\Geeksgyan Work\test.py”

Traceback (most recent call last):

File “c:\Users\ASUS\Desktop\Geeksgyan Work\test.py”, line 4, in <module>

for char in len(string):
TypeError: ‘int’ object is not iterable

这里发生了同样的错误,因为我们试图从一个整数迭代。 有时这些错误很难被识别出来,我们花了几个小时调试我们的代码来找到错误。

错误解决方案

我们知道我们收到这个错误是因为我们试图迭代那个不可迭代的对象。所以我们必须做一些可以使该对象可迭代的事情。 我们可以看到,在循环中使用 range() 函数解决了错误,因为我们知道 range() 函数返回一个容器或事物列表,我们可以在其中一个一个地迭代值,并且可以相应地处理它。 在循环中使用 range() 函数后,错误将得到解决,我们将能够成功运行我们的程序,我们将看到所需的输出。

案例1解决方案:

station_names = ['New Delhi', 'Lucknow', 'Patna', 'GorakhPur']

for num in range(len(station_names)):
station_uppercase = station_names[num].upper()
print(station_uppercase)

输出:

PS C:\Users\ASUS\Desktop\Geeksgyan Work> python -u “c:\Users\ASUS\Desktop\Geeksgyan Work\test.py”

New Delhi

Lucknow

Patna

GorakhPur

我们可以看到我们的程序运行成功了。

在我们使用 range 函数之后,它会返回一个可迭代对象,然后我们的 'num' 变量会遍历该可迭代对象,一次取一个值并将其转换为大写,然后打印该值。

这就是可迭代的程序的工作原理。

案例2解决方案:

string = 'abcdefghij'

new_string = ''
for char in range(len(string)):
if (char % 2 != 0):
    new_string = new_string + string[char].upper()
else:
    new_string = new_string + string[char]

            print(f"After alternating case changes : {new_string}")

输出:

PS C:\Users\ASUS\Desktop\Geeksgyan Work> python -u “c:\Users\ASUS\Desktop\Geeksgyan Work\test.py”

After alternating case changes : aBcDeFgHiJ

我们可以看到在代码中使用 range() 函数后程序运行成功。它消除了错误并提供了所需的输出。 每当出现此错误时,您要做的第一件事就是查找程序中是否存在任何循环,尝试运行程序并检查是否得到输出。检查您是否尝试迭代无法迭代的值。您会发现错误并尝试使用上述技术解决该错误。

结论

每当您收到错误 typeerror: int object is not iterable 那么您必须检查整个程序并尝试找出您是否尝试使用不可迭代作为可迭代对象。我已经在上面的例子中展示了最常见的错误,我也给出了这些问题的解决方案。

到此这篇关于Python开发时报TypeError: ‘int‘ object is not iterable错误的解决方式的文章就介绍到这了,更多相关Python TypeError: ‘int‘ object is not iterable内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python开发时报TypeError: ‘int‘ object is not iterable错误的解决方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python开发时报TypeError: ‘int‘ object is not iterable错误怎么解决

这篇文章主要讲解了“Python开发时报TypeError: ‘int‘ object is not iterable错误怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python开
2023-06-30

Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法

Python 出现错误TypeError: ‘NoneType' object is not iterable解决办法 TypeError: 'NoneType' object is not iterable 这个错误提示一般发生在将No
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录