如何使用数组元素建立索引

问题描述 投票:0回答:0

我有一个 4 x 4 矩阵

Q = np.zeros([4,4])
和一个数组
x = [0,1,0,1]
.

矩阵的值最初由

给出
Q[np.arange(4), x]  =  1 / 2

现在我尝试将

x
中的非常元素设置为

x = [0:2, 1:3, 0:2, 1:3]

这可以通过

np.s_[0:2, 1:3, 0:2, 1:3]
来完成。

例如,

Q
中的第一行是

Q[0,0:2] = 1 / 2

第二行是

Q[2,1:3] = 1 / 2

这个过程也可以通过一个简单的

loop
来实现

for i in range(4):
    Q[i, x[i] : x[i] + 2] = 1 / 2

现在我的问题是这可以在不使用

loop
的情况下自动化吗?这个问题有什么巧妙的技巧吗?谢谢你的帮助。

python numpy loops for-loop slice
© www.soinside.com 2019 - 2024. All rights reserved.