2016-07-30 139 views
0

因此,出於各種原因超出本文的職責,我寫了一個文件,將數據從一個地方傳輸到另一個地方。我有一些在一系列多維數組的保持的數據的如何重新排列多維數組

讓假裝我有一個具有以下形狀/尺寸的4維數組: [X,Y,Z,N]

如何將重新排列它在這些方面: [N,Z,Y,X] 或 [Z,Y,N,Z]

我不是找一個短期和快速的答案,或者一段代碼。我想了解答案,以便爲將來我可以在做我自己

我的想法: 拼合排列出與循環

for n in [n, :,:,:] for x in [:, x, :,:]

等等等等一系列的嵌套直到我將整個事物解開爲一維數組。但我不知道我會究竟是如何找回來的形式,我想

+0

只是轉置它!你會得到[n,z,y,x]版本。 – Julien

回答

0

移調:

>>> a = [[1,2,3],[4,5,6]] 
>>> b = zip(*a) 
>>> b 
[(1, 4), (2, 5), (3, 6)] 
0

的水平翻轉你只需要一個循環。 你需要從第一個地方到中心位置,並用相同的一個替換每個。例如:

lets say that we have an int length. and then: 
for(int i=0;i<length/2;i++) 
{ 
    switch array[i] with array[length-i] 
}