索引具有不同维数的numpy数组

时间:2011-09-12 09:02:55

标签: python numpy

我正在使用numpy,我想将计算结果存储在三个四维矩阵中。我想做这样的事情:

result[:, indices, iteration] = some_function()  # won't work

其中从indices元组的长度理解维度。因此,如果indices等于(6,)(8, 5),那么我希望等同于

result[:, 6, iteration] = some_function()

result[:, 8, 5, iteration] = some_function()

通常我会将所有坐标放入一个元组并将其用作索引,但:的存在阻止我这样做。

result的维度之前已经设置为正确的维度,因此可以检查它,但最好只使用indices的长度来确定它。有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:2)

尝试使用result[(slice(None),) + indices + (iteration,)]

答案 1 :(得分:1)

如果您需要知道指数的长度:

len(indices)

但这是你的问题吗?