Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:尝试获取列表iterable时,无法调用“列表”对象_Python_Python 3.x_List_Iterator - Fatal编程技术网

Python TypeError:尝试获取列表iterable时,无法调用“列表”对象

Python TypeError:尝试获取列表iterable时,无法调用“列表”对象,python,python-3.x,list,iterator,Python,Python 3.x,List,Iterator,在python控制台中: >>> del list # Just to make sure kw: list is not assigned to any variable >>> my_list = ["a", "b", "c"] >>> my_iter = iter(my_list) Traceback (most recent call last): File "<stdin>", line 1, in <modu

在python控制台中:

>>> del list # Just to make sure kw: list is not assigned to any variable
>>> my_list = ["a", "b", "c"]
>>> my_iter = iter(my_list)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
>>> type(my_list)
<class 'list'>
>>> type(list)
<class 'type'>
我知道这会在最后一个字母上出现错误,但这与此无关。

您已将iter名称绑定到一个列表:

>>> my_list = ["a", "b", "c"]
>>> iter(my_list)
<list_iterator object at 0x10b1e04e0>
>>> iter = [42]  # rebinding the name iter to a list object
>>> iter(my_list)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
>>> type(iter)
<class 'list'>
>>> callable(iter)
False
最后的回溯可以通过要求next返回默认值来修复,例如nextmy_iter,“不再有字母”


您还可以通过builtins.iter从恢复函数引用。

您已经为名称iter分配了一个列表对象。所以iter。。。无论传入什么,都将引发该异常。在新控制台中重新启动时,是否会出现相同的错误?
>>> my_list = ["a", "b", "c"]
>>> iter(my_list)
<list_iterator object at 0x10b1e04e0>
>>> iter = [42]  # rebinding the name iter to a list object
>>> iter(my_list)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
>>> type(iter)
<class 'list'>
>>> callable(iter)
False
>>> del iter
>>> iter(my_list)
<list_iterator object at 0x10b1e0358>
>>> type(iter)
<class 'builtin_function_or_method'>
>>> callable(iter)
True
>>> my_iter = iter(my_list)
>>> for letter in my_iter:
...     print(next(my_iter))
...
b
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
StopIteration