【发布时间】:2012-11-05 20:47:56
【问题描述】:
我正在使用一个 n 维数组,我想要一种反转编号维度的方法。所以而不是
rev = a[:,:,::-1]
我希望能够写作
rev = a.reverse(dimension=2)
或类似的东西。我似乎找不到不依赖前一种语法的示例。
【问题讨论】:
-
如果你知道你需要的语法,为什么不把它放到你自己的
rev函数中呢? -
我很好,但我希望函数采用整数(要反转的维度)并返回沿该维度反转的数组。对于任意数量的维度,我不知道如何将(例如)
1转换为[:,::-1,:]和0转换为[::-1,:,:]。 -
Numpy 的
__getitem__采用tuple的slices 所以你可以做a[tuple(slice(None, None, -1) if idx == dimension else slice(None) for idx in range(a.ndim))]
标签: python multidimensional-array numpy