【发布时间】:2018-08-05 04:51:15
【问题描述】:
说我们有
a = np.ones((3,3,3))
和
slices = [(0, 1, slice(None)), (0, slice(None), 0), (slice(None), 1, 0)]
有没有一种简单的方法可以从slices 中选择/更改a 的值?
例如,我想在切片下将0 分配给a,这样a 就变成了
array([[[0., 1., 1.],
[0., 0., 0.],
[0., 1., 1.]],
[[1., 1., 1.],
[0., 1., 1.],
[1., 1., 1.]],
[[1., 1., 1.],
[0., 1., 1.],
[1., 1., 1.]]])
一种迭代的方式是做
for t in slices:
a[t] = 0
有没有更好的方法来利用像 np.r_ 这样的索引,就像 JoshAdel 在 Assign value to multiple slices in numpy 中使用的那样?
我希望实现类似a[SLICES] = 0 的功能,并将a 的所有部分从slices 中的每个切片更改为0。
【问题讨论】:
-
这已经很简单了,不是吗?
-
@Rockbar 这是真的。我只是想知道是否有像
np.r这样的替代品。