On 10/07/2008, Kent Johnson <[EMAIL PROTECTED]> wrote: > The actual formal syntax definitions for the two are slightly different: > http://docs.python.org/ref/lists.html > http://docs.python.org/ref/genexpr.html > > Presumably this means there is something that is syntactically allowed > in one form and not the other, but I can't figure out what it might > be.
Is the generator expression grammar right? How do I parse, e.g., '(x+1 for x in range(10))'? Seems like there's nothing there for 'range(10)'. Like it should replace 'or_test' with 'old_expression'. At any rate, here is one difference: >>> a = range(5) >>> b = range(5, 10) >>> [x for x in a, b] [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]] >>> (x for x in a, b) File "<stdin>", line 1 (x for x in a, b) ^ SyntaxError: invalid syntax (I'm not sure I've ever used a list comprehension like that) -- John. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor