如何重新排列多维数组

时间:2016-07-30 11:12:33

标签: python arrays multidimensional-array

因此,出于本篇文章之外的各种原因,我正在编写一个文件,将数据从一个地方传输到另一个地方。我有一些数据保存在一系列多维数组中

让我假装我有一个具有以下形状/尺寸的4维数组: [x,y,z,n]

如何将其重新排列为以下维度: [n,z,y,x] 要么 [z,y,n,z]

我不是在寻找简短快捷的答案或代码。我想了解答案,以便将来我可以自己做

我的想法: 使用一系列嵌套for循环将数组展平

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

等等,直到我将整个事物解析成一维数组。但我不确定我究竟会以我想要的形式取回它

2 个答案:

答案 0 :(得分:0)

移调:

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

答案 1 :(得分: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]
}