I thought the definition for list comprehension syntax was something like
'[' <expr> for <vars> in <expr> [ for <vars> in <expr> ] * [ if <expr> ] * ']'
The loop <vars> in an earlier for clause should be visible in all nested for clauses and conditional clauses, not just in the first <expr>.
Absolutely, good point!
--Guido van Rossum (home page: http://www.python.org/%7Eguido/)