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

>>> faces = numpy.zeros((3, 3, 3, 6, 3))

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

最佳答案

以下两个都可以做到:

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

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

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

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

关于Python/Numpy : Setting values to index ranges,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20812787/

10-16 12:58