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
