Tuple slices

Fredrik Lundh fredrik at pythonware.com
Mon Jan 24 13:39:24 EST 2005

Steven Bethard wrote:

>>>>>a = 1, 2, 3
>>>>>b = a[:]
>>>>>a is b
>> True
> My impression was that full tuple copies didn't actually copy, but that slicing a subset of a 
> tuple might.  Not exactly sure how to test this, but:
> py> a = 1, 2, 3
> py> a[:2] is a[:2]
> False

yup.  and to figure out why things are done this way, consider this case:

    >>> a = give_me_a_huge_tuple()
    >>> len(a)
    (a rather large number)
    >>> b = a[:2]
    >>> del a

(IIRC, I proposed to add "substrings" when I implemented the Unicode string
type, but that idea was rejected, for the very same "and how do you get rid of
the original object" reason)


More information about the Python-list mailing list