Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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';列表';对象不可调用_Python_Pyscripter - Fatal编程技术网

Python';列表';对象不可调用

Python';列表';对象不可调用,python,pyscripter,Python,Pyscripter,我尝试在Pyscripter中运行以下代码,但它不断返回错误“'list'对象不可调用”。我通过pythonshell运行了代码,它运行得非常好。我不太明白为什么它在Pyscripter中不起作用。另外,我正在使用Python 2.7 import itertools print list(itertools.permutations([1,2,3,4], 2)) 即使在Pyscripter中创建一个简单的列表也会返回相同的错误 list() 提前谢谢 几乎可以肯定,您已经将名称列表反弹到列

我尝试在Pyscripter中运行以下代码,但它不断返回错误“'list'对象不可调用”。我通过pythonshell运行了代码,它运行得非常好。我不太明白为什么它在Pyscripter中不起作用。另外,我正在使用Python 2.7

import itertools
print list(itertools.permutations([1,2,3,4], 2))
即使在Pyscripter中创建一个简单的列表也会返回相同的错误

list()

提前谢谢

几乎可以肯定,您已经将名称列表反弹到列表实例:

>>> import itertools
>>> print list(itertools.permutations([1,2,3,4], 2))
[(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]
>>> 
>>> list = [2,3,4]
>>> list(itertools.permutations([1,2,3,4], 2))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
导入itertools >>>打印列表(itertools.排列([1,2,3,4],2)) [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)] >>> >>>列表=[2,3,4] >>>列表(itertools.置换([1,2,3,4],2)) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 TypeError:“列表”对象不可调用
不要调用列表
list
,或字符串
str
,等等。

您以前在某个地方创建了一个列表并将其命名为
list
。这是个坏主意。名称
列表
在Python中没有特别处理。启动解释器时,
list
命名列表类型,但如果您随后命名其他内容,则
list
不再是列表类型的名称,因为名称一次只能引用一件事


因此,当您编写
list()
时,希望创建一个新的列表(即实例化列表类型),Python会像往常一样:查找名称
list
,然后尝试将
()
(即
\u调用
)应用于任何具有该名称的对象。由于
list
现在引用了其他一些列表,这就失败了,因为
'list'对象不可调用
,正如错误消息所说。

单词liststr是Python中的关键字。这就是脚本出错的原因。您可以尝试以下方法:

import itertools

print(list(itertools.permutations([1,2,3,4], 2)))

List = [1,2,3,4,5,6]
print(list(itertools.permutations(List, 2)))

干杯

@Olli您的评论中几乎没有足够的信息来确定您实际做了什么,更不用说诊断它导致问题的原因了。请阅读,然后问一个新问题。