[Numpy-discussion] argmax() return type can't index python lists
Zachary Pincus
zpincus at stanford.edu
Thu Mar 9 21:34:02 EST 2006
Thanks for your reply, Travis.
> Note that the __index__ PEP I wrote was just accepted and checked-
> in so in fact *all* numpy scalar types will be acceptable as
> indices in Python2.5 (but we have to write the code for that still
> in numpy). So, it's possible that something in Python 2.5 changed
> is causing it not to work.
>
> This very-well could be a bug in the new implementation of __index__.
The problem is that I can't reproduce this bug outside of numpy. If I
go to the python people, they'll most likely say it's a numpy
problem, unless I can show some other test case. Right now, all of
the following classes work as indices in 2.5. The only thing that
doesn't work is a raw numpy.int32 value.
I'd be happy to file a bug report on python if I could figure out a
test case.
Zach
Cases which work fine:
class int_sublcass(int): pass
class empty(object): pass
class int_1(int, empty): pass
class int_2(empty, int): pass
class int_numpy_1(numpy.signedinteger, int):
def __init__(self, i):
int.__init__(self, i)
class int_numpy_2(int, numpy.signedinteger):
def __init__(self, i):
int.__init__(self, i)
l = [1,2,3]
l[int_sublcass(1)]
l[int_1(1)]
l[int_2(1)]
l[int_numpy_1(1)]
l[int_numpy_2(1)]
More information about the NumPy-Discussion
mailing list