> On 8 Oct 2019, at 19:19, Caleb Donovick <[email protected]> wrote: > > >> Because >> >> >>> dict(foo=:1) >> File "<string>", line 1 >> dict(foo=:1) >> ^ >> SyntaxError: invalid syntax > > I don't see how that's an argument, we are talking about a syntax extension. > Slice builder syntax is only every allowed in a subscript. Edit my original > grammar change proposal to: > > ``` > subscriptlist: ... | kwargsubscript (',' kwargsubscript )* [','] > kwargsubscript: NAME '=' subscript > ``` > > Now slices are allowed in keyword arguments.
I wasn't making an argument, I was wondering what exactly we are even discussing. It seems like people are inventing new syntax willy nilly in this thread and I am getting very confused :) / Anders > -- Caleb Donovick > >> On Tue, Oct 8, 2019 at 1:09 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 >> >> _______________________________________________ >> 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/ZJDP2H7EVGOFDVAE4ZYLUMKNNZN6UFCR/ >> Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________ 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/ABJYKP6UH5TFBKWZ7ZQJYP2CGXZWJ2IW/ Code of Conduct: http://python.org/psf/codeofconduct/
