关于什么时候的问题np.ARG其中生成空resu

2024-04-26 10:34:37 发布

您现在位置:Python中文网/ 问答频道 /正文

从下面的numpy1d数组开始。所有值都是唯一的。你知道吗

arr = [-1, 5, 8, 3, 1, -6, -3, 2, -7, -8]

我需要确定数组中值-arr[-1]的索引(如果存在)。要返回此索引,我使用:

idx = [np.argwhere(arr == -arr[-1])][0][0]

如果索引存在,则print(idx)生成正确的结果,在这种情况下:

idx = [2] 

问题来了。如果索引不存在,则在np.ARG其中线路。索引器错误:索引0超出大小为0的轴0的界限。由于我不太明白的原因,我可以在如下所示更改代码行时获得所需的输出(即:idx=[]),但是当索引确实存在时,我会得到一个错误。你知道吗

idx = [np.argwhere(arr == -arr[-1])][0]

我怎么处理?是np.ARG其中哪怕是正确的方法?你知道吗


Tags: 代码错误nparg情况原因数组线路