[Python-Dev] Re: accumulator display syntax
Guido van Rossum
guido at python.org
Fri Oct 17 17:48:33 EDT 2003
More information about the Python-Dev mailing list
Fri Oct 17 17:48:33 EDT 2003
- Previous message: [Python-Dev] Re: accumulator display syntax
- Next message: [Python-Dev] Re: accumulator display syntax
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> > >>> [(a,b) for (a,b) in zip(range(5), range(10))] > > [(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)] > > >>> [a,b for (a,b) in zip(range(5), range(10))] > > File "<stdin>", line 1 > > [a,b for (a,b) in zip(range(5), range(10))] > > ^ > > SyntaxError: invalid syntax > > This one has bitten me several times. > > When it does, I discover the error quickly due to the syntax error, Generally, when we talk about something "biting", we mean something that *doesn't* give a syntax error, but silently does something quite different than what you'd naively expect. This was made a syntax error specifically because of this ambiguity. > but it would be bad if this became valid syntax and returned a list > [a,X] where X is an iterator. I don't think you could count on this > getting caught by a being unbound, because often the variables in > list comprehensions can be single letters that shadow previous > bindings. No, [a,X] would be a syntax error if X was an iterator comprehension. --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] Re: accumulator display syntax
- Next message: [Python-Dev] Re: accumulator display syntax
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list