如何修复Python3.6中的错误:“'range' object is not callable”

7

我的代码看起来像这样:

list_var = ['rh','temp','tl','Tt','DPD','PAR']
for L in range(1, len(list_var)):
     for subset in itertools.combinations(list_var, L):
          f = 'inf ~ {} + C(area)'.format(' * '.join(list(subset)))

错误 'range' object is not callable 即使我将 len(list_var) 改为数字,也会跳出来。你能找出问题并解决吗? 非常感谢!!!


6
“range” 可能已被重新定义。 - Jean-François Fabre
1个回答

7

当将 range 名称分配给实例化对象时,我可以重现问题:

>>> range = range(10)
>>> range(1)
Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
TypeError: 'range' object is not callable

您可能在代码中先前重新分配了该名称,从而触发了此确切的错误。
一个快速而简单的解决方法是:
del range

1
我检查了一下,但是我之前没有使用过range。那么我应该在哪里添加“del range”? - Jenny
-1 是因为这并没有解决问题。那个人提到她/他之前没有定义过“range”。我也遇到了同样的问题,一旦我找到解决方案,我会在这里发布。 - Arash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接