2016-07-30 21 views
0

Aus verschiedenen Gründen, die außerhalb dieses Posts liegen, schreibe ich eine Datei, die Daten von einem Ort zum anderen überträgt. Ich habe einige der in einer Reihe gehaltenen Daten von mehrdimensionalen ArraysSo ordnen Sie ein mehrdimensionales Array an

kann vorgeben, ich habe ein 4 dimensionales Array mit folgenden Form/Abmessungen: [x, y, z, n]

Wie würde ich neu anordnen es in diesen Dimensionen: [n, z, y, x] OR [z, y, n, z]

ich suche nicht für eine kurze und schnelle Antwort oder ein Stück Code. Ich mag die Antwort verstehen, so dass für zukünftige ich es tun konnte auf meinem eigenen

Meine Idee: das Array mit einer Reihe von verschachtelten

für Schleifen abflachen

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

so weiter und so fort bis ich das Ganze in ein eindimensionales Array entwirre. Aber ich bin nicht sicher, wie genau würde ich es in der Form zurückkommen würde ich

+0

einfach transponieren! Sie erhalten die [n, z, y, x] Version. – Julien

Antwort

0

Transponieren mag:

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

für die horizontale Kippung Sie brauchen nur eine Schleife. müssen Sie von der ersten Stelle zur zentrierten Stelle gehen und jede mit derselben auf der gegenüberliegenden Seite ersetzen. Zum Beispiel:

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] 
} 
Verwandte Themen