On Tue, Oct 8, 2019 at 1:05 PM Anders Hovmöller <[email protected]> wrote:
> > > On 8 Oct 2019, at 18:59, Todd <[email protected]> wrote: > > > > > On Tue, Oct 8, 2019, 12:46 Anders Hovmöller <[email protected]> wrote: > >> >> >> On 8 Oct 2019, at 18:35, Todd <[email protected]> wrote: >> >> On Tue, Oct 8, 2019 at 12:22 PM Andrew Barnert via Python-ideas < >> [email protected]> wrote: >> >>> On Oct 7, 2019, at 21:21, Caleb Donovick <[email protected]> >>> wrote: >>> > >>> > > But what if you wanted to take both positional AND keyword? >>> > >>> > I was suggesting that that wouldn't be allowed. So subscript either >>> has a single argument, a tuple of arguments, or a dictionary of arguments. >>> Allowing both has some advantages but is less cleanly integratible. >>> >>> The problem is that half the examples people conjure up involve both: >>> using the keywords as options, while using the positional arguments for the >>> actual indices. Calling the proposal “kwargs in getitem” encourages that >>> thinking, because that’s the prototypical reason for kwargs in function >>> calls. >>> >>> If there were non-toy examples, so people didn’t have to imagine how it >>> would be used for themselves, that might be helpful. >>> >>> >> Here is an example modified from the xarray documentation, where you want >> to assign to a subset of your array: >> >> da.isel(space=0, time=slice(None, 2))[...] = spam >> >> With this syntax this could be changed to: >> >> da[space=0, time=:2] = spam >> >> >> I must have missed something... when did the proposal we're discussing >> start allowing : there? >> >> / Anders >> > > Why wouldn't it? > > > Because > > >>> dict(foo=:1) > File "<string>", line 1 > dict(foo=:1) > ^ > SyntaxError: invalid syntax > > tuple(:1) is also invalid syntax, hence the need for a "slice" type. x[foo=:2] would be equivalent to x[{'foo': slice(None, 2)}], as it is in my example. This is the same way it is handled with positional indexing.
_______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/47T5U3337UVLCG753ECGO22BM6ZM2BWH/ Code of Conduct: http://python.org/psf/codeofconduct/
