[Numpy-discussion] Response to PEP suggestions

Colin J. Williams cjw at sympatico.ca
Thu Feb 17 17:29:23 EST 2005

Peter Verveer wrote:

> On Feb 17, 2005, at 7:52 PM, Travis Oliphant wrote:
>> I'm glad to get the feedback.
>> [snip]
>> 2) Multidimensional array indexing.
>> Sometimes it is useful to select out of an array some elements based 
>> on it's linear (flattened) index in the array.   MATLAB, for example, 
>> will allow you to take a three-dimensional array and index it with a 
>> single integer based on it's Fortran-order:  x(1,1,1),  x(2,1,1), ...
>> What I'm proposing would have X[K] essentially equivalent to 
>> X.flat[K].  The problem with always requiring the use of X.flat[K] is 
>> that X.flat does not work for discontiguous arrays.   It could be 
>> made to work if X.flat returned some kind of specially-marked array, 
>> which would then have to be checked every time indexing occurred for 
>> any array.  Or, there maybe someway to have X.flat return an 
>> "indexable iterator" for X which may be a more Pythonic thing to do 
>> anyway.  That could solve the problem and solve the discontiguous 
>> X.flat problem as well.
> But possibly slow, and that we want to avoid.

Currently, numarray returns an array with a reduced rank:

 >>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
 >>> a[1]
array([3, 4, 5])
 >>> a[:,1]
array([1, 4, 7])

Is this to be abandoned?

Colin W.

More information about the NumPy-Discussion mailing list