[Python-ideas] if-syntax for regular for-loops
Andreas Nilsson
adde at trialcode.com
Fri Oct 3 13:17:53 CEST 2008
Hi.
I'm reposting this here after erroneously posting it on python-dev.
I use list comprehensions and generator expressions a lot and lately
I've found myself writing a lot of code like this:
for i in items if i.some_field == some_value: i.do_something()
Naturally it won't work but it seems like a pretty straight-forward
extension to allow compressing simple loops to fit on one line. The
alternative, in my eyes, suggests there's something more happening
than a simple include-test which makes it harder to comprehend.
for i in items:
if i.some_field == some_value: i.do_something()
One possibility of course is to use a generator-expression but that
makes it look like there are two for loops and it feels like a waste
setting up a generator just for filtering.
for i in (i for i in items if some_field == some_value):
i.do_something()
Stupid idea? Am I missing some obviously better way of achieving the
same result?
Thanks,
Adde
More information about the Python-ideas
mailing list