Hi Python-list folk, I am sure this has been answered many times before, but I need to ask it again.
Given that the following is valid Python 2.7.10 (when keyboarded into Idle): mytup = ("q", "w", "e") id(mytup) mytup = mytup [:2] id(mytup) and even that the first id(mytup) returns the same address as the second one, I am left wondering exactly what immutability is. I am left concluding that mytup is not actually a tuple (even though type (mytup) tells me that it is). My only explanation is that mytup is, actually, a pointer to a tuple; the pointer can't change, but the contents of that pointer (or the data to which the pointer points) can change. That said, if I then type mytup = mytup + ("r", "t") id(mytup) I find that this third id call returns a different address from the one returned by the first two. Somehow, it seems, tuples can be reduced in length (from the far end) (which is not what I was expecting), but they cannot be extended (which I can understand). I am probably confused, ignorant, stupid, or any combination of the above. Can you please help me become less so? Many thanks. Stephen Tucker. -- https://mail.python.org/mailman/listinfo/python-list