On Tue, 22 Jul 2014 12:34:51 -0700 (PDT), fl <rxjw...@gmail.com> wrote: [snip] > > But I don't understand the reassign function result: > >>>> def reassign(list): > ... list=[0,1] > ... >>>> list=[0] >>>> reassign(list) >>>> print list > [0]
When you say "def reassign(list)", that means "I'm defining a function to which the caller will pass one object, and within this function I'm going to refer to that object by the name 'list'." Then, when you say "list=[0,1]", that means "Create the object [0,1], and assign to it the name 'list'." At this point, there is no longer any name that refers to the object that the caller passed. You might have thought that "list=[0,1]" would modify the caller-passed object, but that's not what happens. That's not what "=" means. -- To email me, substitute nowhere->spamcop, invalid->net. -- https://mail.python.org/mailman/listinfo/python-list