gpt4 book ai didi

python - "lambda"在 Python 中是什么意思,最简单的使用方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:57:59 24 4
gpt4 key购买 nike

您能否举一个例子和其他例子来说明何时以及何时不使用 Lambda?我的书给了我一些例子,但它们令人困惑。

最佳答案

Lambda,源自 Lambda Calculus和 (AFAIK) 首次实现于 Lisp , 基本上是一个匿名函数 - 一个没有名称的函数,并且内联使用,换句话说,您可以在单个表达式中为 lambda 函数分配一个标识符,如下所示:

>>> addTwo = lambda x: x+2
>>> addTwo(2)
4

这会将 addTwo 分配给匿名函数,该函数接受 1 个参数 x,并在函数体中将 x 加 2,它返回函数体中最后一个表达式的最后一个值,因此有没有 return 关键字。

上面的代码大致相当于:

>>> def addTwo(x):
... return x+2
...
>>> addTwo(2)
4

除非您不使用函数定义,否则您正在为 lambda 分配一个标识符。

使用它们的最佳位置是当您真的不想用名称定义函数时,可能是因为该函数只会被使用一次次而不是多次,在这种情况下使用函数定义会更好。

使用 lambdas 的哈希树示例:

>>> mapTree = {
... 'number': lambda x: x**x,
... 'string': lambda x: x[1:]
... }
>>> otype = 'number'
>>> mapTree[otype](2)
4
>>> otype = 'string'
>>> mapTree[otype]('foo')
'oo'

在本例中,我真的不想为其中任何一个函数定义名称,因为我只会在散列中使用它们,因此我将使用 lambdas。

关于python - "lambda"在 Python 中是什么意思,最简单的使用方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1583617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com