(original) (raw)

On 16/11/2007, Benji York <benji@benjiyork.com> wrote:


Gustavo Carneiro wrote:
> I am finding myself often doing for loops over a subset of a list, like:
>
>         for r in results:
>             if r.numNodes != numNodes:
>                 continue

>             # do something with r
>
> It would be nice if the plain for loop was as flexible as list
comprehensions
> and allowed an optional if clause, like this:
>
>         for r in results if
r.numNodes == numNodes:
>             # do something with r

You can do the same today, sans sugar:

     for r in (s for s in results if s.numNodes == numNodes):
         # do something with r


Yes, I can do that, as well as I can use the 'continue' statement, but both versions are slightly more verbose and less clear than what I propose.

--
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert