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

Robert Kern robert.kern at gmail.com
Mon Jan 14 14:44:19 EST 2008


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.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco



More information about the NumPy-Discussion mailing list