Python 3.x 在Python中,条件运算符如何在赋值期间返回下标?

Python 3.x 在Python中,条件运算符如何在赋值期间返回下标?,python-3.x,Python 3.x,我一直在Python中看到以下内容,但我不太了解它是如何工作的: ... for label in range(1,5): indices = (y == label) mu[label] = np.mean(x[indices,:], axis=0) ... 具体地说,y==label我希望为索引指定一个布尔值,但是该变量被用作切片下标 欣赏您的见解。int(True)==1和int(False)==0y显然是一个numpy数组,它定义了所有比较运算符,以返回单个布尔结果的大小相

我一直在Python中看到以下内容,但我不太了解它是如何工作的:

...
for label in range(1,5):
  indices = (y == label)  
  mu[label] = np.mean(x[indices,:], axis=0)
...
具体地说,
y==label
我希望为
索引指定一个布尔值,但是该变量被用作切片下标


欣赏您的见解。

int(True)==1和int(False)==0
y
显然是一个numpy数组,它定义了所有比较运算符,以返回单个布尔结果的大小相同的数组,而不是单个整体结果。生成的数组可以用作索引,以选择比较结果为真的所有单个索引。谢谢@jasonharper。我忽略了
y==label
确实返回了与
y
大小相同的布尔值矩阵