[Numpy-discussion] RFC: out of range slice indexes

Neal Becker ndbecker2@gmail....
Mon Jan 14 13:54:04 CST 2008


Robert Kern wrote:

> Neal Becker wrote:
>> I've never liked that python silently ignores slices with out of range
>> indexes.  I believe this is a source of bugs (it has been for me).  It
>> goes completely counter to the python philosophy.
>> 
>> I vote to ban them from numpy.
>>>>> from numpy import array
>>>>> x = array (xrange (10))
>>>>> x[11]
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>> IndexError: index out of bounds
>>>>> x[:12] = 2
>>>>> x
>> array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
>>>>> len (x)
>> 10
>> 
>> Silently ignoring the error x[:12] is a bad idea, IMO.  If it meant to
>> _extend_ x to have lenght 12, at least _that_ would be reasonable (but
>> I'm not advocating that position).
>> 
>> I believe that out of bounds indexes should always throw IndexError.  We
>> can't change that in Python now, but maybe we can in numpy.
> 
> -1. Regardless of the merits if we had a blank slate, there is code that
> depends on this, specifically my code. It simplifies certain operations
> that would otherwise need tedious special case-handling.
> 

For example?



More information about the Numpy-discussion mailing list