【问题标题】:How to fix the error :'range' object is not callable in python3.6 [closed]如何修复错误:'range'对象在python3.6中不可调用[关闭]
【发布时间】:2018-01-30 13:38:53
【问题描述】:

我的代码如下:

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)))

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

【问题讨论】:

  • range 可能被重新定义了

标签: python loops range


【解决方案1】:

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

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

快速而肮脏的解决方法是:

del range

【讨论】:

  • 我检查过,但我之前没有在任何地方使用范围。我应该在哪里添加del range
  • -1 因为这不能解决问题。该人提到她/他之前没有定义“范围”。我也遇到了同样的问题,找到解决办法后发帖给她。
猜你喜欢
  • 2019-10-04
  • 1970-01-01
  • 2019-10-05
  • 2021-09-23
  • 2013-02-07
  • 2021-03-29
  • 2022-01-18
  • 2019-08-28
  • 1970-01-01
相关资源
最近更新 更多