On Mon, Mar 14, 2011 at 9:56 AM, Alan Gauld <[email protected]> wrote: > "Yasar Arabaci" <[email protected]> wrote > >> >>> a=["a"] >> >>> b=[a] >> >>> a.append("c") >> >>> b >> [['a', 'c']] >> >> Apperantly, I can change something (which is mutable) inside a list >> without even touching the list itself :) > > But the point is that you *are* touching the list. > In this case you have two names referring to the same list. > You can modify that list (because it is mutable) via either name, it > makes no difference because they both refer to the same list. > > So a.append() is exactly the same operation as b.append()
No, they are not the same list. b is (a name of) a list with one element, that one element being the list (denoted by) a. That's not the same as a itself. -- André Engels, [email protected] _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
