TypeError:“ list”对象在尝试访问反向范围时不可调用

时间:2019-05-20 15:59:33

标签: python jupyter

我正在尝试运行此代码以在jupyter笔记本电脑中获得tic-tac对角线获胜者。

game = [[1, 0, 1],
        [0, 1, 2],
        [1, 2, 1]]


cols = list(reversed(range(len(game))))
rows = range(len(game))

for idx in rows:
    print(idx, cols[idx])

错误

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-250-b70a53369f72> in <module>
      6 
      7 
----> 8 cols = list(reversed(range(len(game))))
      9 rows = range(len(game))
     10 

TypeError: 'list' object is not callable

1 个答案:

答案 0 :(得分:1)

您已经将list这个名称遮盖了。在您的代码中搜索看起来像这样的行:

list = <something>

您可以通过在cols = list(...)之前插入一行来轻松诊断:

print(type(list))

如果您还没有遮盖,您将看到<class 'type'>出现在命令行中。我敢打赌,相反,您会看到<class 'list'>(或其他所有内容)

尽力避免隐藏内置组件,因为它会导致此类错误。