【问题标题】:What exactly DOES a Lambda do? [duplicate]Lambda 到底是做什么的? [复制]
【发布时间】:2020-12-11 23:47:18
【问题描述】:

好的,我在 Python 代码中看到了大量的 Lambda 函数。我一直在查看以前提出的有关 Lambda 的问题,但它们没有解释它们的作用。他们是否设置了变量?例如,如果我做了 Lambda x: x + 1,它会将变量 X 设置为等于 x+1 吗?另外,如何打印 Lambda 的值?谢谢

【问题讨论】:

  • lambda 只是一个函数。它做任何函数体告诉它做的事情。 x: x + 1 将接受一个参数并返回传入参数加一的结果。大概x 应该是一个数字。应该等同于def foo(x): return x + 1
  • @deceze:也可能重复:stackoverflow.com/questions/13669252/what-is-key-lambda。 (已编辑)它有更多的选票,所以我将您的重复目标标记为上述目标的副本。
  • 它们本质上是一个函数的简写,它只计算并返回一个表达式。不多也不少。它们不需要像传统的defs 那样命名,只要需要函数对象就可以简单地内联声明。

标签: python function lambda


【解决方案1】:

在您的示例中,lambda x: x+1 将接受参数x 并返回x+1,相当于def foo(x): return x+1,这些也称为匿名函数。

Lambda 在将函数作为参数传递时非常有用。让我们给你一个例子。假设你有一个 2D 元组列表:

l = [('a',2),('b',3),('c',1)]

并且您想使用每个元组中的第二项对列表进行排序。手动执行此操作需要大量代码,但使用 lambda,您可以将 lambda 函数作为 key 传递给 sort 方法或 sorted(),如下所示:

l.sort(key=lambda x: x[1])

还有更多例子!!!

【讨论】:

    【解决方案2】:

    Lambda 是匿名函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-16
      • 1970-01-01
      • 2012-12-24
      • 2015-08-10
      • 2015-03-28
      • 2014-11-20
      • 2014-11-11
      • 1970-01-01
      相关资源
      最近更新 更多