【发布时间】:2015-12-01 06:40:01
【问题描述】:
我第一次从 Notebook 运行这段代码时效果很好:
#Which letters and how many
letters = ["a","b","c"]
noOfLetters = len(letters)
#Looking for all permutations
resultA = []
from itertools import permutations
for i in range(noOfLetters):
resultA.append(list(permutations(letters,i+1)))
如果我再次运行它(不重新启动内核),我会收到以下错误:
TypeError Traceback (most recent call last)
<ipython-input-5-4050a4ce7a36> in <module>()
7 from itertools import permutations
8 for i in range(noOfLetters):
----> 9 resultA.append(list(permutations(letters,i+1)))
TypeError: 'list' object is not callable
【问题讨论】:
-
在此代码之后的某个时刻,您执行
list = <something else>。这会影响内置list并导致问题。将其重命名为lst或其他名称。尽量不要隐藏内置插件 -
谢谢亚当,确实如此。
-
@GretelDePaepe 如果您必须使用与内置名称相同的名称,一种约定是在名称后附加下划线:例如,在这种情况下,
list_ = . . .这不会覆盖内置的list。
标签: python jupyter-notebook jupyter