【问题标题】:comparison ex of list comprehension and lambda列表理解和 lambda 的比较 ex
【发布时间】:2016-07-25 23:31:20
【问题描述】:
Celsius = [66.5,45.2,33.5,55.5]
Fahrenheit = [((float(9)/5)*x + 32) for x in Celsius]

如何在 lambda 函数中编写它?例如:λx,y:x+y

【问题讨论】:

    标签: python list lambda list-comprehension


    【解决方案1】:

    你是这个意思吗?

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

    一般来说,列表理解(您的示例所做的)可以转换为 maplambda(或其他函数)的组合。

    编辑

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

    【讨论】:

      【解决方案2】:
      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))
      

      【讨论】:

        猜你喜欢
        • 2021-10-20
        • 1970-01-01
        • 2015-07-24
        • 2021-06-17
        • 2011-08-05
        • 1970-01-01
        • 2011-11-16
        • 2021-10-01
        • 2018-02-06
        相关资源
        最近更新 更多