[Python-Dev] listcomps vs. for loops
Michael Chermside
mcherm at mcherm.com
Mon Oct 20 14:06:52 EDT 2003
Alex:
> We are indeed sure (sadly) that list comprehensions leak control
> variable names.
Guido:
> But they shouldn't. It can be fixed by renaming them (e.g. numeric
> names with a leading dot).
Aahz:
> ?!?! When listcomps were introduced, you were strongly against [...]
> Are you changing your position[...]?
Guido:
> Did I say it was a feature that
>
> L = [x for x in R]
> print x
>
> would print the last item of R?
Well, I don't care much about the history of what you may have said...
let's get it out in the open: The fact that listcomps leak their
variable (thus providing a handy name-binding expression for the evil-minded
among us) is a BAD THING.
I'd love to see that (mis)feature removed someday. I'd love to have that
made possible by Guido's _immediately_ and _officially_ declaring it to be
an unsupported (and deprecated) feature. Then maybe *someday* we could
get rid of them. Even now, people are writing code that (ab)uses this,
and making it ever harder to ever change this in the future.
-- Michael Chermside
More information about the Python-Dev
mailing list