TypeError:尝试访问列表时,'list'对象不可调用

时间:2011-04-20 19:52:26

标签: python callable

我正在尝试运行此代码,我有一个列表列表。我需要添加到内部列表,但我收到错误

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)

9 个答案:

答案 0 :(得分:63)

要访问列表元素,您需要使用方括号([])而不是括号(())。

而不是:

print  wordlists(len(words))

你需要使用:

print worldlists[len(words)]

而不是:

(wordlists(len(words))).append(words)

你需要使用:

worldlists[len(words)].append(words)

答案 1 :(得分:7)

单词列表不是一个函数,它是一个列表。你需要括号下标

print  wordlists[len(words)]

答案 2 :(得分:7)

要获取列表元素,您必须使用list[i]而不是list(i)

答案 3 :(得分:4)

当我调用一个与另一个被归类为列表的变量同名的函数时,我也收到了错误。

一旦我整理了命名,错误就解决了。

答案 4 :(得分:3)

您正试图在此处致电wordlists

print  wordlists(len(words)) <--- Error here.

尝试:

print wordlists[len(words)]

答案 5 :(得分:3)

试试wordlists[len(words)]()是函数调用。执行wordlists(..)时,python认为您正在调用名为wordlists的函数,该函数原来是list。因此错误。

答案 6 :(得分:0)

检查保存程序的文件名。如果文件名是wordlists 然后你会得到一个错误。您的文件名不应与您在程序中使用的任何方法{functions}相同。

答案 7 :(得分:0)

即使我遇到了同样的错误,但是我也解决了它,我在工作中使用了很多列表,所以我只是重新启动了内核(这意味着如果您使用的是Jupyter或Google Colab之类的笔记本,则可以重新启动并再次运行所有单元格都可以解决,错误将消失。

谢谢

答案 8 :(得分:-2)

del list

上面的命令对我有用