combining several lambda equations
paddy3118 at netscape.net
paddy3118 at netscape.net
Fri Feb 18 05:57:45 EST 2005
Fredrik Lundh wrote:
> Paddy McCarthy wrote:
>
> > #If given:two or more lambda equations
> > x=lambda : A < B
> > y=lambda : C+6 >= 7
> >
> > How do I create another lambda expression Z equivalent to
> >
> > Z=lambda : (A<B) and (C+6>=7)
> >
> > # i.e. the anding together of the originals, but without
referencing
> > # globals x and y as they are artificial in that I will start of
with
> > # probably a list of lambda equations.
>
> x=lambda : A < B
> y=lambda : C+6 >= 7
> Z=lambda x=x, y=y: x() and y()
> del x, y
>
> </F>
Thanks Frederik.
I actually have a set of lambdas so my use will be more like:
>>> s = set([lambda : A < B, lambda : C+6 >= 7])
>>> x=s.pop(); y=s.pop()
>>> Z=lambda x=x, y=y: x() and y()
>>> del x,y
>>> A,B,C = [2,3,1]
>>> Z()
True
>>> A,B,C = [2,3,0]
>>> Z()
False
>>> A,B,C = [3,3,1]
>>> Z()
False
>>>
- Gosh, isn't life fun!
- Pad.
More information about the Python-list
mailing list