[Numpy-discussion] array allocation using tuples gives views of same array

George Nurser gnurser at googlemail.com
Thu Nov 15 10:17:06 EST 2007

I tried the (as I thought) nice compact form
In [60]: a,b = (zeros((2,)),)*2


In [61]: b[0] = 2

In [62]: a
Out[62]: array([ 2.,  0.])

a and b are the _same_ array....

In [68]: a,b = (zeros((2,)),zeros((2,)))

In [69]: b[0] = 2

In [70]: a
Out[70]: array([ 0.,  0.])

is OK. a & b are independent in this case.

I'm puzzled by this behaviour, I suspect because of my ignorance of
how tuples work.

It looks to me like
a,b = (zeros((2,)),)*2
is equivalent to
x= zeros((2,))

If this is indeed a feature rather than a bug, is there an alternative
compact way to allocate many arrays?

Regards, George.

More information about the NumPy-Discussion mailing list