Am 23.07.2012 16:50 schrieb Stone Li:
I'm totally confused by this code:
Code:
a = None
b = None
c = None
d = None
x = [[a,b],
[c,d]]
e,f = x[1]
print e,f
c = 1
d = 2
print e,f
e = 1
f = 2
print c,d
Output:
None None
None None
1 2
I'm expecting the code as:
None None
1 2
1 2
What's wrong?
Your expectation :-)
With c = 1 and d = 2 you do not change the respective objects, but you
assign other objects to the same names.
The old content is still contained in x[1].
If you would only modify these objects (not possible as ints are
immutable), you would notice the changes here and there.
Thomas
--
http://mail.python.org/mailman/listinfo/python-list