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
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
您的意思是?
Fahrenheit = list(map(lambda x: x * 9.0/5 + 32, Celsius))
一般來說,列表理解(例如你做什麼)可以被轉換成的map
組合和lambda
(或其他功能)。
編輯
您也可以使用lambda x: (float(9)/5)*x + 32
;我只是想簡化表達。 :-)
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))
好吧,這似乎很有道理。非常感謝。 – joedirt