[Tutor] Phython List values :p:
Paradox
paradox at pobox.com
Mon Nov 18 11:49:06 CET 2013
Ayo,
On 11/18/2013 01:57 AM, Ayo Rotibi wrote:
>
>
> I read that an assignment with an = on lists does not make a copy.
> Instead, assignment makes the two variables point to the one list in
> memory. For instance, if a = [1, 2, 3] and b=a, then b = [1, 2, 3].
>
> However, I discovered that if I change the value in ‘a’, ‘b’ does not
> take the new value. I thought since it is pointing to the same
> storage as ‘a’, ‘b’ should take the new value…
>
>
It is not clear to me what code you are running, maybe you could give us
the specifics? When I run an assignment like you seem to be talking
about I get the expected result (using ipython for an interactive
session to demonstrate):
In [1]: a=[1,2,3]
In [2]: b=a
In [3]: b
Out[3]: [1, 2, 3]
In [4]: a[1]=0
In [5]: a
Out[5]: [1, 0, 3]
In [6]: b
Out[6]: [1, 0, 3]
Is that not what you are seeing? If not perhaps you could show us how
you are doing the list assignment and changing the list a, what output
you are expecting and what output you are getting.
thomas
More information about the Tutor
mailing list