TypeError:“列表”对象在尝试访问列表时不可调用

Posted

技术标签:

【中文标题】TypeError:“列表”对象在尝试访问列表时不可调用【英文标题】:TypeError: 'list' object is not callable while trying to access a list 【发布时间】:2011-08-09 19:13:17 【问题描述】:

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

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)

【问题讨论】:

【参考方案1】:

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

谢谢

【讨论】:

【参考方案2】:
del list

上面的命令对我有用

【讨论】:

如果您分配了一个变量列表,这可能会发生。不是在这个问题的背景下,但是对我有帮助。谢谢。【参考方案3】:

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

代替:

print  wordlists(len(words))

你需要使用:

print worldlists[len(words)]

而不是:

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

你需要使用:

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

【讨论】:

规范化答案,因此我做了一个小的编辑。如果您愿意,请回滚。谢谢。【参考方案4】:

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

【讨论】:

【参考方案5】:

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

【讨论】:

【参考方案6】:

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

我整理好命名后,错误就解决了。

【讨论】:

【参考方案7】:

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

print  wordlists[len(words)]

【讨论】:

+1 用于识别单词列表不是函数(或某些可调用对象),因此不能使用参数调用,从而导致给定错误。有关使 Python 对象可调用的技术解释,请参阅***.com/questions/111234/what-is-a-callable-in-python。如果我们想获得真正的技术性,我们使用方括号,因为它是一个列表数据结构docs.python.org/tutorial/datastructures.html#more-on-lists【参考方案8】:

试试wordlists[len(words)]() 是一个函数调用。当您执行wordlists(..) 时,python 认为您正在调用一个名为wordlists 的函数,结果是list。因此出现错误。

【讨论】:

【参考方案9】:

您正尝试在此处致电wordlists

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

试试:

print wordlists[len(words)]

【讨论】:

以上是关于TypeError:“列表”对象在尝试访问列表时不可调用的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:“ float”对象在尝试从浮动列表中选择特定对象时不可迭代

TypeError:'float' 对象在内置 max 函数的列表中不可迭代

渲染时捕获 TypeError:“BoundField”对象不可迭代

Python/Pandas TypeError:“列表”对象不可调用

TypeError:不理解数据类型“列表”

Python 2 - TypeError: int() 参数必须是字符串、类似字节的对象或数字,而不是“列表”