In article <[EMAIL PROTECTED]>,
 bruno at modulix <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] 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[1]
> >>> b is a[1]
> True
> >>> id(b)
> 46912496915448
> >>> id(a[1])
> 46912496915448
> >>>

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, [EMAIL PROTECTED]
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to