2016-07-30 4 views
0

Так что по разным причинам, выходящим за пределы этого сообщения, я пишу файл, который передает данные из одного места в другое. У меня некоторые из данных, хранящихся в одной серии многомерных массивовКак переставить многомерный массив

позволяют делать вид, у меня есть 4 одномерного массив со следующими формами/размерами: [х, у, г, п]

Как бы переставить она в этих измерениях: [п, г, у, х] иЛИ [г, у, п, г]

Я не ищу короткий и быстрый ответ или кусок кода. Я хочу, чтобы понять ответ, так что для будущего я мог сделать это самостоятельно

Моя идея: Свести массив с серией вложенным для петель

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] 
} 
Смежные вопросы