如何重新排列多维数组

2024-04-25 17:58:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我如何将它重新排列成这些维度: [n,z,y,x] 或者 [z,y,n,z]

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

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

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

以此类推,直到我把整个事情分解成一个一维数组。但我不确定我到底该如何把它恢复到我想要的状态


Tags: 文件数据答案代码infor状态尺寸
2条回答

对于水平翻转你只需要一个循环。 你需要从第一个地方到中间的地方,把每一个换成另一个地方的同一个。例如:

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

转置:

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

相关问题 更多 >