[Python-Dev] RE: Iteration variables and list comprehensions
David Beazley
beazley@cs.uchicago.edu
Thu, 31 May 2001 08:34:57 -0500 (CDT)
Greg Ewing writes:
> Another advantage of changing both together is that
> we can continue to describe listcomp semantics in terms
> of for-loops instead of lambdas.
Is this really an advantage? To me, the lambda semantics are a lot
more intuitive in terms of matching the way that list comprehensions
are actually used and ought to work (although I will agree that the
for-loop explanation is a good way to describe the internals of what a
list comprehension actually does).
I think I would be opposed to changing normal for-loop semantics to
match any change made in list-comprehensions. There are too many cases
where you use a loop variable after finishing a loop and I suspect
that this would break a huge amount of code. For example:
for i in r:
...
if whatever: break
print i
Besides, the semantic mismatch created between a listcomp and a
for-loop pales in comparison to the mismatch that currently exists
between the behavior of listcomps and all of the other operators. Of
course, that's just my opinion--I could be wrong.
> Then we won't have to go
> into hiding until Guido dies or lifts the fatwah against us.
fatwah? Uh... should I start talking to the witness protection
program folks?
Cheers,
Dave