When I have a=1 and b=2, I can write a,b=b,a so that a and b are interchanged with each other.
I use this matrix as an array:
[ 1, 2, 0, -2]
[ 0, 0, 1, 2]
[ 0, 0, 0, 0]
Swapping the columns of a numpy array does not work:
import numpy as np
x = np.array([[ 1, 2, 0, -2],
[ 0, 0, 1, 2],
[ 0, 0, 0, 0]])
x[:,1], x[:,2] = x[:,2], x[:,1]
It yields:
[ 1, 0, 0, -2]
[ 0, 1, 1, 2]
[ 0, 0, 0, 0]
So x[:,1] has simply been overwritten and not transferred to x[:,2].
Why is this the case?
d = [0,1,2,3]; d[:2], d[2:] = d[2:], d[:2]yields[2, 3, 0, 1]