假設我已經定義與numpy的多維數組切片
x = numpy.arange(27).reshape((3, 3, 3))
現在3x3x3的numpy的陣列,我可以得到含有各3×3子陣列的(0,1)元素的數組與x[:, 0, 1]
,它返回array([ 1, 10, 19])
。如果我有一個元組(m,n)並且想要檢索存儲在元組中的每個子數組((0,1))的(m,n)元素,該怎麼辦?例如,假設我有t = (0, 1)
。我嘗試了x[:, t]
,但它沒有正確的行爲 - 它返回每個子陣列的行0和1。我找到的最簡單的解決方案是
x.transpose()[tuple(reversed(t))].transpose()
但我確定必須有更好的方法。當然,在這種情況下,我可以做x[:, t[0], t[1]]
,但這不能推廣到我不知道有多少維數x
和t
具有的情況。
酷,謝謝幫助(你也是,wim)。我在[scipy](http://www.scipy.org/Numpy_Example_List)找到了更多s_和slice的示例。我想我以前看過那個清單,但沒有看到任何看起來相關的東西。 – James