Swapping values of two variables

MRAB google at mrabarnett.plus.com
Thu Jan 29 20:11:05 EST 2009


Eric Kang wrote:
> In python, I set:
> 
> x=1
> y=3
> 
> z = x
> x = y
> y = z
> 
> 
> This gave me 3 1, which are the values of x and y swapped.
> The following would have given me the same result:
> x, y = y, x
> 
> But could the swapping be done using less extra memory than this?
> What is the minimum amount of extra memory required to exchange two
> 32-bit quantities? What would be the pseudocode that achieves this
> minimum?
> 
x ^= y
y ^= x
x ^= y

This is really only of use when working in assembly language.



More information about the Python-list mailing list