Personally, I'm certainly not ignoring comprehensions. "for thing in
(x for x in collection if is_interesting(x))" uses comprehensions just
fine, if you don't like the verbosity of "x for x in", then that's an
issue with comprehensions, not a reason why comprehensions don't
address this issue, surely? (Personally, I find the repetitiveness of
"x for x in" mildly annoying, but not enough to put me off
comprehensions[1]).
Earlier on the thread, I made a similar point that it would be nice to have a way to filter without the redundant for x in x. Though I can’t think of a really good way to express it. But as for filtered for loops:
"for thing in
(x for x in collection if is_interesting(x))"
It not so much the extraneous “x for x” as the duplicated “for thing in” that bugs me.
I’m curious— to the skeptics: do you think that The above (or a later if block) is just as good or better than
for thing in collection if isinteresting(thing):
Or just that it’s not worth it to make a change.
But the other part of why I think comprehensions are relevant is that introducing anf if to the for statement is not brand new syntax - it would be allowing existing syntax in a new context that is highly related.
And as for documentation and all that, it’s hard to imagine very many people not understanding what it means.
Do I care enough to write a PEP? No. So this, like many other small ideas, will probably die on the vine.
Oh well.
-CHB