On 25/05/2013 19:56, Jim Mooney wrote:
I thought tuples were immutable but it seems you can swap them, so I'm
confused:

a,b = 5,8

You've defined two names a and b so where's the tuple?


print a  # result 5

a,b = b,a

You've redefined two names a and b to take the values that were held in b and a so still no tuple.


print a  # result 8, so they swapped

# but if I test the type of a,b I get a tuple

testit = a,b

Finally a tuple.

print type(testit)  #comes out as a tuple

print testit, # result is (8,5)

# So how am I swapping elements of a tuple when a tuple is immutable?

#t rying so change a tuple since I just did it

testit[1] = 14  #program crashes - *TypeError: 'tuple' object does not
support item assignment *so the tuple I just changed is indeed immutable

Exactly as expected.  So what precisely don't you understand?


--
Jim Mooney

"Coding? You can get a woman to do that!" he said with a sneer. --heard
from a physics professor in 1969

--
If you're using GoogleCrap™ please read this http://wiki.python.org/moin/GoogleGroupsPython.

Mark Lawrence

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to