can Python be useful as functional?
Duncan Booth
duncan.booth at invalid.invalid
Tue Sep 18 03:41:03 EDT 2007
More information about the Python-list mailing list
Tue Sep 18 03:41:03 EDT 2007
- Previous message (by thread): can Python be useful as functional?
- Next message (by thread): can Python be useful as functional?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Rustom Mody" <rustompmody at gmail.com> wrote: > 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. Why should it? It evaluates the expression which returns an object that just happens to be a generator and then as with any other expression that isn't assigned or returned it throws away the result. > More generally, if one wants to 'splice in' a generator into the body > of a generator, is there no standard pythonic idiom? Yes there is, as Alex showed you the standard python idiom for a generator to yield all elements of an iteratable (whether it is a generator or any other iterable) is: for somevar in iterable: yield somevar There have been various proposals in the past such as 'yield from iterable', but there doesn't seem any compelling case to introduce a new confusing syntax: the existing syntax works, and adding a special syntax wouldn't open the door to any performance benefits since the implementation would have to be pretty much the same (at most you would save a couple of local variable accesses).
- Previous message (by thread): can Python be useful as functional?
- Next message (by thread): can Python be useful as functional?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list