0

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?

Merp
  • 118
  • 1
  • 10

2 Answers2

2

I think if you just want the first and second columns swapped you should change the code to be something like this:

for i in m:
    i[1],i[0] = i[0],i[1]
rachelyw
  • 126
  • 10
  • This works fine - each row is just a sublist, and want to swap first, second item - which is `[1]` and [0]`. However, it is more nature to write this way: for i in m: i[0], i[1] = i[1], i[0] – Daniel Hao Jan 28 '21 at 12:36
0
for i in m:
    i[0],i[1] = i[1],i[0]

output

[[2, 1, 3], 
[5, 4, 6], 
[8, 7, 9]]
Epsi95
  • 8,832
  • 1
  • 16
  • 34