[Numpy-discussion] Response to PEP suggestions

Fernando Perez Fernando.Perez at colorado.edu
Thu Feb 17 14:06:11 CST 2005


David M. Cooke wrote:

> Right now, I find X.flat to be pretty useless, as you need a
> contiguous array. I'm +1 on making X.flat work in all cases (contiguous
> and discontiguous). Either
> 
> a) X.flat returns a contiguous 1-dimensional array (like ravel(X)),
>    which may be a copy of X
> 
> or
> 
> b) X.flat returns a "flat-indexable" view of X
> 
> I'd argue for b), as I feel that attributes should operate as views,
> not as potential copies. To me, attributes "feel like" they do no
> work, so making a copy by mere dereferencing would be suprising.

+1 on b).

I have quite a bit of code doing things like

try:
   b=a.flat
except:
   b=ravel(a)

which feels silly.  It would be nice for .flat to be a guaranteed, indexable, 
no-copy view of the original (even if it's non-contiguous).  Granted, the 
indexing will be costlier for a non-contiguous object, but for the external 
users this provides a clean API.

Regards,

f




More information about the Numpy-discussion mailing list