Transposing a 3D list in Python

python

Solution

I think this is what you want:

numpy.transpose(matrix7, axes=(1, 0, 2)).tolist()  # The 'axes' attribute tells transpose to swaps axes 0 and 1, leaving the last one alone.

OUTPUT:

[[['A ', 'E ', 'C#'], ['  ', 'F#', 'D '], ['  ', 'E ', 'B '], ['  ', 'E ', 'C#'], ['  ', 'F#', 'D '], ['  ', 'E ', 'B '], ['  ', '  ', '  '], ['  ', 'E ', 'C#']],
[['B ', 'E ', 'C#'], ['  ', 'F#', 'D '], ['  ', 'E ', 'B '], ['  ', 'E ', 'C#'], ['  ', 'F#', 'D '], ['  ', 'E ', 'B '], ['  ', '  ', '  '], ['  ', 'E ', 'C#']],
[['C ', 'E ', 'C#'], ['  ', 'F#', 'D '], ['  ', 'E ', 'B '], ['  ', 'E ', 'C#'], ['  ', 'F#', 'D '], ['  ', 'E ', 'B '], ['  ', '  ', '  '], ['  ', 'E ', 'C#']]]

Problem

I have to transpose a 3d list the following way: Input: ``` matrix7 = [[['A ', 'E ', 'C#'], ['B ', 'E ', 'C#'], ['C ', 'E ', 'C#']], [[' ', 'F#', 'D '], [' ', 'F#', 'D '], [' ', 'F#', 'D ']], [[' ', 'E ', 'B '], [' ', 'E ', 'B '], [' ', 'E ', 'B ']], [[' ', 'E ', 'C#'], [' ', 'E ', 'C#'], [' ', 'E ', 'C#']], [[' ', 'F#', 'D '], [' ', 'F#', 'D '], [' ', 'F#', 'D ']], [[' ', 'E ', 'B '], [' ', 'E ', 'B '], [' ', 'E ', 'B ']], [[' ', ' ', ' '], [' ', ' ', ' '], [' ', ' ', ' ']], [[' ', 'E ', 'C#'], [' ', 'E ', 'C#'], [' ', 'E ', 'C#']]] ``` desired output: ``` [[['A ', 'E ', 'C#'], [' ', 'F#', 'D '], [' ', 'E ', 'B '], [' ', 'E ', 'C#'], [' ', 'F#', 'D '], [' ', 'E ', 'B '], [' ', ' ', ' '], [' ', 'E ', 'C#']], [['B ', 'E ', 'C#'], [' ', 'F#', 'D '], [' ', 'E ', 'B '], [' ', 'E ', 'C#'], [' ', 'F#', 'D '], [' ', 'E ', 'B '], [' ', ' ', ' '], [' ', 'E ', 'C#']], [['C ', 'E ', 'C#'], [' ', 'F#', 'D '], [' ', 'E ', 'B '], [' ', 'E ', 'C#'], [' ', 'F#', 'D '], [' ', 'E ', 'B '], [' ', ' ', ' '], [' ', 'E ', 'C#']]] ``` I have the following program: ``` matrix8 = [] for index in matrix7: matrix8 = numpy.array(matrix7).transpose() matrix9 = matrix8.tolist() print matrix9 ``` which is giving me the wrong output: ``` [[['A ', 'E ', 'C#'], ['B ', 'E ', 'C#'], ['C ', 'E ', 'C#']], [[' ', 'F#', 'D '], [' ', 'F#', 'D '], [' ', 'F#', 'D ']], [[' ', 'E ', 'B '], [' ', 'E ', 'B '], [' ', 'E ', 'B ']], [[' ', 'E ', 'C#'], [' ', 'E ', 'C#'], [' ', 'E ', 'C#']], [[' ', 'F#', 'D '], [' ', 'F#', 'D '], [' ', 'F#', 'D ']], [[' ', 'E ', 'B '], [' ', 'E ', 'B '], [' ', 'E ', 'B ']], [[' ', ' ', ' '], [' ', ' ', ' '], [' ', ' ', ' ']], [[' ', 'E ', 'C#'], [' ', 'E ', 'C#'], [' ', 'E ', 'C#']]] ``` Can anyone help me with this?

Original source