Search code examples
pythonmatrixswap

Swap/Transpose matrix columns


I have a 2d array like this:

m = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

And I want to swap the first and second columns, which would look like this:

[2, 1, 3]
[5, 4, 6]
[8, 7, 9]

I've looked around, but all I can find is stuff about turning rows into columns. I tried the zip function for example, but again it just does this:

[1, 4, 7]
[2, 5, 8]
[3, 6, 9]

Anyone know how to do this?


Solution

  • for i in m:
        i[0],i[1] = i[1],i[0]
    

    output

    [[2, 1, 3], 
    [5, 4, 6], 
    [8, 7, 9]]