understanding list scope
Alex
metallourlante at gmail.com
Sun Sep 21 09:17:36 EDT 2008
On 21 Set, 15:07, George Sakkis <george.sak... at gmail.com> wrote:
> On Sep 21, 8:51 am, Alex <metallourla... at gmail.com> wrote:
>
>
>
> > Hi all!
>
> > I have a problem understanding the behaviour of this snippet:
>
> > data_set = ({"param":"a"},{"param":"b"},{"param":"c"})
>
> > for i in range(len(data_set)):
> > ds = data_set[:]
> > data = ds[i]
> > if i == 1: data['param'] = "y"
> > if i == 2: data['param'] = "x"
>
> > print data_set
>
> > This script print out:
> > ({'param': 'a'}, {'param': 'y'}, {'param': 'x'})
>
> > Why? I'm coping data_set in ds so why data_set is changed?
>
> Because you're doing a shallow copy:http://docs.python.org/lib/module-copy.html
>
> George
Thanks a lot. It was giving me and headache!
More information about the Python-list
mailing list