[Numpy-discussion] NEP 21: Simplified and explicit advanced indexing

Robert Kern robert.kern at gmail.com
Tue Jun 26 03:54:43 EDT 2018


On Tue, Jun 26, 2018 at 12:46 AM Robert Kern <robert.kern at gmail.com> wrote:

> On Tue, Jun 26, 2018 at 12:13 AM Eric Wieser <wieser.eric+numpy at gmail.com>
> wrote:
>
>> > I would reserve warnings for the cases where the current behavior is
>> something no one really wants, like mixing slices and integer arrays.
>>
>> These are the cases that would only be available under `legacy_index`.
>>
>
> I'm still leaning towards not warning on current, unproblematic common
> uses. It's unnecessary churn for currently working, understandable code. I
> would still reserve warnings and deprecation for the cases where the
> current behavior gives us something that no one wants. Those are the real
> traps that people need to be warned away from.
>
> If someone is mixing slices and integer indices, that's a really good sign
> that they thought indexing behaved in a different way (e.g. orthogonal
> indexing).
>
> If someone is just using multiple index arrays that would currently not
> give an error, that's actually a really good sign that they are using it
> correctly and are getting the semantics that they desired. If they wanted
> orthogonal indexing, it is *really* likely that their index arrays would
> *not* broadcast together. And even if they did, the wrong shape of the
> result is one of the more easily noticed things. These are not silent
> errors that would motivate adding a new warning.
>

Of course, I would definitely support adding more information to the
various IndexError messages to point people to `.oindex` and `.vindex`. I
think that would guide more people to correct their code than adding a new
warning to code that currently executes (which is likely not erroneous),
and it would cause no churn.

-- 
Robert Kern
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20180626/2d98d61d/attachment.html>


More information about the NumPy-Discussion mailing list