如何修复错误:“range”对象在 python3.6 中不可调用

Jen*_*nny 7 python loops range

我的代码如下所示:

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)))
Run Code Online (Sandbox Code Playgroud)

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

Jea*_*bre 7

range在将名称分配给实例化对象时,我可以重现该问题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
Run Code Online (Sandbox Code Playgroud)

您可能在代码的前面重新分配了名称,从而触发了这个确切的错误。

一个快速而肮脏的修复是:

del range
Run Code Online (Sandbox Code Playgroud)