On Thu, 29 Jan 2009 16:29:11 -0800, 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
Yes. > 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? Ints in Python are *objects*, not 32-bit quantities. An int is 12 bytes (96 bits) in size; a long will use as much memory as needed. If your application needs to optimize a swap of two ints, then Python is probably going to be much too memory-intensive for you. (But my money is on you doing premature optimization.) -- Steven -- http://mail.python.org/mailman/listinfo/python-list