subexpressions
Steve Holden
steve at holdenweb.com
Fri Jun 1 13:09:50 CEST 2007
Sergey Dorofeev wrote:
> "Peter Otten" <__peter__ at web.de> wrote in message
> news:f3oo0p$c7c$03$1 at news.t-online.com...
>>>>> 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?
>
> This code is needed once in a map, so I don't want 3+ extra lines.
> Solution seemed so simple...
> I always considered python as languague, where simple things do not require
> extensive coding.
> Moreover, this construction is common thing in functional programming.
>
>
Stop thinking of three lines as "extensive coding" and your problem
disappears immediately.
regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
------------------ Asciimercial ---------------------
Get on the web: Blog, lens and tag your way to fame!!
holdenweb.blogspot.com squidoo.com/pythonology
tagged items: del.icio.us/steve.holden/python
All these services currently offer free registration!
-------------- Thank You for Reading ----------------
More information about the Python-list
mailing list