IndexError:标量变量的索引无效



我创建了以下函数:

def c_min(a,b):
    result= [x - y for x in a for y in b]
    min=np.min(result)
    return min

我创建了一个包含两个列表的测试文件:

a=[1,2,3] and b=[4,5,6]

当我运行函数时,我得到了正确的结果。

然而,当我在初始代码中运行该函数时,标题错误中出现了上述内容。需要注意的是,初始代码中的函数应用于两个数组中。其中一个大小为1,是numpy.float64,另一个为3,是numpy.ndarray。为什么它可以应用于列表而不应用于数组?

ab都需要是numpy.ndarray。如果其中一个是标量,则for ... in ...构造将失败。

如文章中所述,使用numpy.arraynumpy.ndarray可以解决问题。

最新更新