On Tue, Mar 16, 2010 at 11:34 AM, Skipper Seabold <[email protected]> wrote:
> On Tue, Mar 16, 2010 at 11:20 AM, Sam Tygier
> <[email protected]> wrote:
>> Thanks for those responses.
>>
>> could the dtype pages in the numpy reference link to the basics.rec page in 
>> the user guide?
>>
>> there seem to be some gotchas in list within a list notation.
>>
>> if i have
>> a = array([0,0.1,0.2,0.3,0.4])
>> b =  array((0,0.1,0.2,0.3,0.4), dtype=[('a','f'), ('b','f'), ('c','f'), 
>> ('d','f'),('f','f')])
>>
>> then
>>>>> a[[0,1,4]]
>> array([ 0. ,  0.1,  0.4])
>>>>> a[[4,1,0]]
>> array([ 0.4,  0.1,  0. ])
>>
>> but
>>>>> b[['a','b','f']]
>> (0.0, 0.10000000149011612, 0.40000000596046448)
>>>>> b[['f','b','a']]
>> (0.0, 0.10000000149011612, 0.40000000596046448)
>>
>> so i always get the vales back in the original order. is the by design, or a 
>> bug?
>>
>
> I've been bitten by this before too and asked the same question with
> no response.  I think it's just a limitation of the design of
> structured arrays.

It might be by historical design, structured arrays are not really
designed for slicing but I think more like sets of variables.

But it means it cannot be used directly for the old pattern

[arr(name) for name in listofnames]

Skipper, Is this subset selection documented anywhere? I only know
about it because you showed the example.

Josef



>
> Skipper
> _______________________________________________
> NumPy-Discussion mailing list
> [email protected]
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to