Python/Numpy:将值设置为索引范围

Syn*_*ead 5 python arrays numpy

使用 Numpy,我可以创建一个 5 维数组,如下所示:

>>> faces = numpy.zeros((3, 3, 3, 6, 3))
Run Code Online (Sandbox Code Playgroud)

我想(all indexes, all indexes, 0, 4)被设置为(1., 1., 1.). 仅使用 Numpy(无 Python 循环)是否可以做到这一点?

NPE*_*NPE 6

以下两个都可以做到:

faces[:,:,0,4] = 1

faces[:,:,0,4] = (1, 1, 1)
Run Code Online (Sandbox Code Playgroud)

第一个使用以下事实:通过让 NumPy 将 1 广播到正确的维度,所有三个值都相同。

第二个更通用,因为您可以为三个元素分配不同的值。