2016-07-25 52 views
0
Celsius = [66.5,45.2,33.5,55.5] 
Fahrenheit = [((float(9)/5)*x + 32) for x in Celsius] 

我該如何在lambda函數中編寫這個函數?例如:lambda x,y:x + y比較前列表理解和lambda

回答

0

您的意思是?

Fahrenheit = list(map(lambda x: x * 9.0/5 + 32, Celsius)) 

一般來說,列表理解(例如你做什麼)可以被轉換成的map組合和lambda(或其他功能)。

編輯

您也可以使用lambda x: (float(9)/5)*x + 32;我只是想簡化表達。 :-)

+0

好吧,這似乎很有道理。非常感謝。 – joedirt

0
TempCtoF = lambda c: 9/5 * c + 32 
TempFtoC = lambda f: 5/9 * (f - 32) 

Celsius = [66.5,45.2,33.5,55.5] 
Fahrenheit = [TempCtoF(c) for c in Celsius] 

Fahrenheit = list(map(TempCtoF, Celsius))