[Python-Dev] PEP 289: Generator Expressions (second draft)

Andrew Koenig ark-mlist at att.net
Thu Oct 23 10:18:48 EDT 2003


> Raymond, please take this to c.l.py for feedback!  Wear asbestos. :-)

One thought:

If we eventually adopt the notation that {a, b, c} is a set, there is a
potential ambiguity in expressions such as {x**2 for x in range(n)}.  Which
is it, a set comprehension or a set with one element that is a generator
expression?

It would have to be the former, of course, by analogy with
[x**2 for x in range(n)], which means that if we introduce generator
expressions, and we later introduce set literals, we will have to introduce
set comprehensions at the same time.  Either that or prohibit generator
expressions as set-literal elements unless parenthesized -- i.e.
{(x**2 for x in range(n))}.




More information about the Python-Dev mailing list