Sergey Dorofeev wrote: > "Peter Otten" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] >> Sergey Dorofeev wrote: >> >>> Please help, is there way to use sub-expressions in lambda? >>> For example, if I want to calculate sin(x^2)+cos(x^2) I must code: >>> lambda x: sin(x*x)+cos(x*x) >>> How to make x*x to be evaluated once? >> >>>>> (lambda x: [sin(x2) + cos(x2) for x2 in [x*x]][0])(.5) == sin(.5*.5) + >> cos(.5*.5) >> True >> >> The real answer is of course: Use a function. > > But what about something like > > lambda x: sin(y)+cos(y) where y=x*x > > ? > May be this could be a PEP? If there is no straight way to do this.
def f(x): y = x*x return sin(y) + cos(y) What is not straightforward about that? Peter -- http://mail.python.org/mailman/listinfo/python-list