On Mon, Mar 14, 2011 at 9:56 AM, Alan Gauld <alan.ga...@btinternet.com> wrote: > "Yasar Arabaci" <yasar11...@gmail.com> 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, andreeng...@gmail.com _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor