如何处理TypeError:-:“ list”和“ int”不受支持的操作数类型?

我正在使用numpy.arange函数从零开始但不包括10000以上的任何数字,以99的倍数计数。我收到以下错误:

TypeError--'list'和'int'不支持的操作数类型

列表和int之间似乎不匹配,但是只有一个变量:

import numpy as np

multiples_of_99 = np.arange([0,10000,99])
multiples_of_99

错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-40-d47e5e9108c6> in <module>
      1 import numpy as np
      2 
----> 3 multiples_of_99 = np.arange([0,99])
      4 multiples_of_99

TypeError: unsupported operand type(s) for -: 'list' and 'int'
ming870312 回答:如何处理TypeError:-:“ list”和“ int”不受支持的操作数类型?

只需删除[]numpy.arange为其开始,停止和步进参数采用单独的参数:

np.arange(0,10000,99)

您还可以省略start参数,或者将其指定为:

np.arange(10000,step=99)
,

numpy.arange采用单独的int参数,而不是list中的int。您想要:

multiples_of_99 = np.arange(0,99)

诚然,在这种情况下,numpy可能会产生更有用的错误消息;当它执行确定结果长度所需的基本计算时,会引发错误。由于您传递了一个list作为参数,因此假设stop的值为start,它会将其用作0的值。当它执行stop - start时,等效于键入[0,99] - 0,当您清楚地说明它时显然是错误的,但是numpy是扩展模块(在C中实现),Python级别的回溯当执行无效减法时,无法向您显示其操作。

本文链接:https://www.f2er.com/2767645.html

大家都在问