[Python-ideas] About list comprehension syntax
Boris Borcic
bborcic at gmail.com
Thu May 31 11:51:54 CEST 2007
Terry Reedy wrote:
> "Arnaud Delobelle"
...
> | Thus (3) could be written more simply as:
> |
> | (3') [x in L if p(x)]
>
> (x in L) is a legal expression already.
That's the only real issue IMO - and I agree there is no acceptable solution.
> (x in L) if p(x) looks like the
> beginning of (x in L) if p(x) else 'blah' . The whole thing looks like a
> list literal with an incompletely specified one element.
>
> | This is consistent with common mathematical notation:
>
> 'Common mathematical notation' is not codified and varies from writer to
> writer and even within the work of one writer. Humans make do and make
> guesses, but parser programs are less flexible.
I guess it also depends on how much math (eg theorem proofs) one had to deal
with. FWIW, it took me months to adapt to the correct Python listcomp/genexp
syntax, after being bitten dozens of times by Python not accepting Arnaud's (3')
form above. The latter was *much* more natural to my fingers.
Cheers, BB
More information about the Python-ideas
mailing list