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