问题描述:python3在def函数中传入list的时候出现TypeError: 'type' object is not iterable

我的list是用下面的方式获得的,value_list是获得的集合中的一些元素,实际上也是一个list。

但是将该list传入一个def中会报错。因为是直接用for i in value_list:这种形式遍历的,发现这种形式会报错。

但是在函数中改成了

def str_join(str_list):  # 输入为一个list,将集合中的所有元素直接拼接到一起返回。
    l_result = ""
    it = iter(str_list)
    for l in it:
        l_result = l_result + l
    return l_result

这种就不报错了。

但是如果不用def 函数传入list,而是直接在取到集合后,直接for i in value_list:这种就不会报错。

>>> range(10)range(0, 10)>>> for i in range: print(i) Traceback (most recent call last): File "<pyshell#47>", line 1, in <module> for i ... django报错 ‘ type object is not iterable ,个人报错原因解析 E:\django_project\my_blog\article\models.py changed, reloading. Watching for file changes with StatReloader Exception in thread django-main-thread: Traceback (most recent call last): File "E:\Python\Python 当我们编写任何程序时,都会遇到一些错误,会让我们有挫败感,所以我有一个解决方案给你。 今天在这篇文章中,我们将讨论错误类型error: ‘int’ object is not iterable 。 我们将讨论为什么会出现此错误以及此错误的一些可能解决方案。请务必阅读到最后,以节省大量调试此错误的时间。首先,让我们了解“ iterable ”(可迭代)一词的含义? 可迭代是我们可以从中获取值并相应地使用它们的东西。例如,每当我们使用循环遍历列表或元组时,循环就作为可迭代对象工作,它一次提供一个元素来处理它。 换句话 在Ubuntu的Python3.8环境下使用PySide2 5.13.2和shiboken2 5.13.2一直报错: TypeError : 'Shiboken. Object Type ' object is not iterable 通过QT官网得知这是pyside2的一个bug,可以通过降低Python版本到3.7或者更新到Pyside2 5.15来解决这个问题 for i in range(100): 第一种中,Name存储了多个对象,for循环中的name就是其中的对象,就相当于第二种的Name[i]。而我前面写的就是将两种方法杂糅到一起了,因此导致出错,所以只需要将源代码改成: