我正在尝试运行此代码,我有一个列表列表。我需要添加到内部列表,但我得到错误
TypeError: 'list' object is not callable.
任何人都可以告诉我这里我做错了什么。
def createlists():
global maxchar
global minchar
global worddict
global wordlists
for i in range(minchar, maxchar + 1):
wordlists.insert(i, list())
#add data to list now
for words in worddict.keys():
print words
print wordlists(len(words)) # <--- Error here.
(wordlists(len(words))).append(words) # <-- Error here too
print "adding word " + words + " at " + str(wordlists(len(words)))
print wordlists(5)
要访问列表的元素,您需要使用方括号([]
)而不是括号(()
)。
代替:
print wordlists(len(words))
你需要使用:
print worldlists[len(words)]
而不是:
(wordlists(len(words))).append(words)
你需要使用:
worldlists[len(words)].append(words)
wordlists不是一个函数,它是一个列表。你需要括号下标
print wordlists[len(words)]
要获取列表的元素,您必须使用list[i]
而不是list(i)
。
当我调用一个与另一个被归类为列表的变量同名的函数时,我也收到了错误。
一旦我整理了命名,错误就解决了。
你试图在这里打电话给wordlists
:
print wordlists(len(words)) <--- Error here.
尝试:
print wordlists[len(words)]
试试wordlists[len(words)]
。 ()
是一个函数调用。当你做wordlists(..)
时,python认为你正在调用一个名为wordlists
的函数,结果证明它是一个list
。因此错误。
检查保存程序的文件名。如果文件名是wordlists
,那么您将收到错误。您的文件名不应与您在程序中使用的任何方法{functions}相同。
即使我得到了相同的错误,但我解决了它,我在工作中使用了很多列表,所以我只是重新启动了我的内核(这意味着如果你使用的是像Jupyter或Google Colab这样的笔记本,你可以重新启动并再次运行所有单元格通过这样做,你的问题将得到解决,错误消失。
谢谢。
del list
以上命令对我有用