[Numpy-discussion] memory corruption bug

Bill Baxter wbaxter at gmail.com
Mon Aug 28 05:17:35 EDT 2006


Nope, that's the way python works in general for any type other than
basic scalar types.
>>> a = [1,2,3,4]
>>> b = a
>>> b[1] = 99
>>> print a
[1, 99, 3, 4]
>>> print b
[1, 99, 3, 4]

Also the issue never comes up for types like tuples or strings because
they aren't mutable.

--bb

On 8/28/06, Sven Schreiber <svetosch at gmx.net> wrote:
> Charles R Harris schrieb:
> > +1. I too suspect that what you have here is a reference/copy problem.
> > The only thing that is local to the class is the reference (pointer),
> > the data is global.
> >
> > Chuck
>
> Ok, so you guys were right, turns out that my problem was caused by the
> fact that a local assignment like x = y is also by reference only, which
> I wasn't really aware of. (Of course, it's explained in Travis' book...)
> So that behavior is different from standard python assignments, isn't it?
>
> Sorry for the noise.
>
> -Sven
>




More information about the NumPy-Discussion mailing list