On Sat, Nov 12, 2016 at 11:10 AM, David Mertz <me...@gnosis.cx> wrote:

> +100
>
> I like this idea of giving `slice` a metaclass that defines a
> `.__getitem__()` allowing us to construct slices on the slice type itself.
>
> FWIW, this is exactly what pandas.IndexSlice does.  E.g., from
> http://pandas.pydata.org/pandas-docs/stable/advanced.html:
>

Indeed, this would be really nice! The requirement to use a special object
to construct slices outside of indexing is a repeated pain-point for me and
users of pandas/xarray.

To non-experts, it's not at all obvious what slice(None, 3, None) means,
but slice[:3] has the familiar syntax.

In xarray, we encourage passing around slice objects to do indexing with
keyword arguments [1], e.g., data.sel(time=slice(100)) to pull out the
first 100 values along the time axis. data.sel(time=slice[:100]) would be a
significant improvement.

Even if we ever get indexing with keyword arguments in Python, I still like
the readability of data[time=slice[:100]] better than data[time=:100],
where the colon gets lost.

[1]
http://xarray.pydata.org/en/stable/indexing.html#indexing-with-labeled-dimensions
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to