执行代码时出现以下错误:
如果(abs(arr[i]-val)<;float(temp)):
索引器错误:只有整数、切片(:
)、省略号(...
),新轴(None
)和整数或布尔数组是有效的索引
编码
def closestval(arr, val):
temp = abs(arr[0] - val)
pos = 0
for i in arr:
if abs(arr[i] - val) < temp:
temp = abs(arr[i] - val)
pos = i
return pos;
我正在传递由创建的列表np.linspace公司,值为2*np.pi/2号文件在
编码
^{pr2}$
在python中,当你在某物上迭代时,你从某物中得到元素。你不能得到索引(至少不是自动的)
最后一个表达式有效地在列表
[0,1,2,3]
上迭代。在所以这个表达式:
^{pr2}$没有道理。}的元素,不是索引。在
i
是{这应该是有效的:
但是,由于您需要索引
i
,首选的python迭代是:其中
enumerate
添加一个索引。把这个放在手边。在但是这是
numpy
,我们不需要迭代(至少在Python中没有显式地迭代)我们可以用一个语句将
x
的每个元素与目标进行比较,找出最大的。在有多种方法可以确定
<
测试的最后一个元素是真的,或者它在哪里切换为False。在相关问题 更多 >
编程相关推荐