Rich Healey wrote:
> http://docs.python.org/library/copy.html
> 
> Just near the bottom it reads:
> 
> """Shallow copies of dictionaries can be made using dict.copy(), and
> of lists by assigning a slice of the entire list, for example,
> copied_list = original_list[:]."""
> 
> 
> Surely this is a typo? To my understanding, copied_list =
> original_list[:] gives you a clean copy (slicing returns a new
> object....)
> 
Yes, but it's a shallow copy: the new object references exactly the same
objects as the original list (not copies of those objects). A deep copy
would need to copy any referenced lists, and so on.

> Can this be updated? Or someone explain to me why it's correct?
> 
It sounds correct to me.

regards
 Steve


> Cheers
> 
> Example:
> 
> 
>>>> t = [1, 2, 3]
>>>> y = t
>>>> u = t[:]
>>>> y[1] = "rawr"
>>>> t
> [1, 'rawr', 3]
>>>> u
> [1, 2, 3]


-- 
Steve Holden           +1 571 484 6266   +1 800 494 3119
See Python Video!       http://python.mirocommunity.org/
Holden Web LLC                 http://www.holdenweb.com/
UPCOMING EVENTS:        http://holdenweb.eventbrite.com/
"All I want for my birthday is another birthday" -
                                     Ian Dury, 1942-2000

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to