References and copying
donn at u.washington.edu
Fri Jun 9 19:54:35 CEST 2006
In article <44899cb3$0$21184$626a54ce at news.free.fr>,
bruno at modulix <onurb at xiludom.gro> wrote:
> danmcleran at yahoo.com wrote:
> >>And I don't understand it. I thought, that b will be a reference to a,
> >>so changing b should change a as well.
> > No, you've set the name b to reference a slice of a. Slicing a list
> > always returns a new list.
> Please verify before asserting:
> >>> a = [[1, 2], [3, 4]]
> >>> b = a
> >>> b is a
> >>> id(b)
> >>> id(a)
You're right - he actually didn't set the name b to reference a
slice of a. But if he had - slicing a list does return a new list.
Indexing, as in the example, returns the item object. Or, binds a
reference to the left hand side identifier, whatever, but there is
no way to bind anything to the list location.
Donn Cave, donn at u.washington.edu
More information about the Python-list