我编写了代码以汇总矩阵的数字,但出现此错误TypeError:'range'对象不可调用,我也不知道为什么 这是我的代码:
quanteda
答案 0 :(得分:2)
我认为您应该像在第一个for循环中的代码那样遍历矩阵的行和列,即像这样:
for i in range(fil):
for j in range(col):
if A[i][j] > 0:
...
您的代码不正确,因为它正在尝试调用range
对象:
>>> range(fil)
range(0, 10)
>>> type(range(fil))
<class 'range'>
>>> range(fil)(col)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'range' object is not callable
因此,对range(fil)
的调用将创建一个新的range
对象,然后Python尝试将该对象当作函数来调用,将col
作为参数传递给该对象。 / p>
也许您应该阅读函数和函数调用,以更好地了解函数在Python中的工作方式。
答案 1 :(得分:0)
您可能想更改行
for i in range (fil)(col):
公正
for i in range (fil):
以这种方式,它是对range
对象的函数调用,并且如错误消息所述,调用range()
的结果不能用作可调用/函数。