can Python be useful as functional?

Rustom Mody rustompmody at gmail.com
Tue Sep 18 08:21:28 CEST 2007


On 9/18/07, Alex Martelli <aleax at mac.com> wrote:
> Rustom Mody <rustompmody at gmail.com> wrote:
>
> > Can someone help? Heres the non-working code
> >
> > def si(l):
> >     p = l.next()
> >     yield p
> >     (x for x in si(l) if x % p != 0)
> >
> > There should be an yield or return somewhere but cant figure it out
>
> Change last line to
>
>     for x in (x for x in si(l) if x % p != 0): yield x


Thanks but why does

(yield(x) for x in si(l) if x % p != 0)

not work? I would have expected generator expression to play better
with generators.

More generally, if one wants to 'splice in' a generator into the body
of a generator, is there no standard pythonic idiom?



More information about the Python-list mailing list