我正在使用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
的长度来确定它。有没有办法实现这个目标?
答案 0 :(得分:2)
尝试使用result[(slice(None),) + indices + (iteration,)]
答案 1 :(得分:1)
如果您需要知道指数的长度:
len(indices)
但这是你的问题吗?