64

我正在尝试在有列表列表的地方运行此代码。我需要添加到内部列表,但我得到了错误

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)
4

9 回答 9

87

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

代替:

print  wordlists(len(words))

你需要使用:

print worldlists[len(words)]

而不是:

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

你需要使用:

worldlists[len(words)].append(words)
于 2011-04-20T20:00:42.560 回答
8

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

于 2011-04-20T20:00:52.530 回答
7

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

print  wordlists[len(words)]
于 2011-04-20T20:00:40.627 回答
5

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

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

于 2013-01-05T00:58:48.827 回答
3

您正试图在wordlists这里打电话:

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

尝试:

print wordlists[len(words)]
于 2011-04-20T20:00:27.100 回答
3

试试wordlists[len(words)]()是一个函数调用。当你这样做时wordlists(..),python 认为你正在调用一个被调用的函数wordlists,结果是一个list. 因此错误。

于 2011-04-20T20:00:39.673 回答
0

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

于 2013-09-07T07:32:55.397 回答
0
del list

上面的命令对我有用

于 2019-06-12T09:23:44.507 回答
0

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

谢谢

于 2019-06-29T21:41:07.860 回答