Yes, you're right. That's the ambiguity I mentioned in my last message. It's too bad because I want given for expressions and given for comprehensions. But if you have both, there's ambiguity and you would at least need parentheses:
[(y given y=2*x) for x in range(3)] That might be fine. On Thu, May 31, 2018 at 4:34 AM Peter O'Connor <peter.ed.ocon...@gmail.com> wrote: > * Sorry, message sent too early: > > On Thu, May 31, 2018 at 4:50 AM, Neil Girdhar <mistersh...@gmail.com> > wrote: >> >> >>> [expression given name=something for x in seq] >>> >> >> retval = [] >> name = something >> for x in seq: >> retval.append(expression) >> return retval >> > > That's a little confusing then, because, given the way given is used > outside of comprehensions, you would expect > > [y given y=2*x for x in range(3)] > > to return [0, 2, 4], but it would actually raise an error. > > > On Thu, May 31, 2018 at 10:32 AM, Peter O'Connor < > peter.ed.ocon...@gmail.com> wrote: > >> >> >> On Thu, May 31, 2018 at 4:50 AM, Neil Girdhar <mistersh...@gmail.com> >> wrote: >>> >>> >>>> [expression given name=something for x in seq] >>>> >>> >>> retval = [] >>> name = something >>> for x in seq: >>> retval.append(expression) >>> return retval >>> >> >> That's a little strange confusing then, because, given the way given is >> used outside of comprehensions, you would expect >> >> for x in range(3): >> y given y=2*x >> >> [y given y=2*x for x in range(3)] >> >> to return [0, 2, 4], but it would actually raise an error. >> >> >> >> > >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/