Hi Proposition 1: > data = [0, None, 2, 0] > ref = data[-1] > ref = 1 > assert data[-1] == 1
Logically, it doesn't work. Here you are assigning to ref a NEW value. That won't replace the data[-1] value. It's out of logic this proposition. While this (proposition 2): data = [0, None, 2, ["hello"]] ref = data[-1] ref.append("world") does work, because you are assigning to ref THAT list ["hello"]. So, if you have THAT list, and appends a value, THAT list will be modified. ref is pointing to THAT object. So, I don't understand why you write the first proposition, like if that can be a normal thinking of how to do the second proposition :-S Well, I hope that newcomers to Python don't confuse himselves :) Daniel -- http://mail.python.org/mailman/listinfo/python-list