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?

1

2 Answers 2

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]
Sign up to request clarification or add additional context in comments.

1 Comment

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]
0
for i in m:
    i[0],i[1] = i[1],i[0]

output

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

2 Comments

This does not work. It will get you - >>> m [[3, 2, 1], [6, 5, 4], [9, 8, 7]]
@thank you for correcting me, I read the question as the first column and last column. Again thank you.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.