On Aug 23, 10:09 am, seb <sdemen...@gmail.com> wrote:
> Hi,
>
> i was wondering if there is a syntax alike:
>
> for i in range(10) if i > 5:
>     print i
>
> equivalent to
>
> for i in (for i in range(10) if i>5):
>     print i
>
> sebastien

AFAIK, no syntax fo that. But the standard syntax is not too
different:

for i in range(0):
    if i > 5 : print i

Or you can use itertools.ifilter:

for i in itertools.ifilter( lambda x: x > 5, range(10) ):
     print i

Or, if you define a function corresponding to the loop body, you could
do something like:

map( print, (i for i in range(10) if i> 5 )) # only works if print is
a function



Ciao
----
FB



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to