scared about refrences...
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Mon Oct 30 14:32:25 EST 2006
In <1162236136.367603.165180 at b28g2000cwb.googlegroups.com>, SpreadTooThin
wrote:
> I'm really worried that python may is doing some things I wasn't
> expecting... but lets see...
Expect that Python never copies something if don't ask explicitly for a
copy.
> if I pass a list to a function def fn(myList):
>
> and in that function I modify an element in the list, then does the
> callers list get modied as well.
>
> def fn(list):
> list[1] = 0
>
> myList = [1, 2, 3]
> print myList
> fn(myList)
> print myList
>
>>>> [1,2,3]
>>>> [1,0,3]
>
> How can I avoid this? In this case this is a really simplified example
> but the effects are the same...
In this case:
def fn(lst):
lst = list(lst)
lst[1] = 0
> How do I specify or create deep copies of objects that may contain
> other objects that may contain other object that may contain other
> objects....
See the `copy` module especially `copy.deepcopy()`.
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list