Lambda表达式
匿名函数
-lamdba函数是一种快速定义单行的最小函数,是从Lisp借用来的,可以用在任何需要函数的地方。
例子:
函数:>>> def fun(x,y):
... return x*y
...
>>> fun(23,2)
46
lambda
lambda x,y:x*y#lambda 函数; x第一个参数,y第二个参数 ;x*y操作类型;
如果使用函数返回的对象,还需要一个接受的变量
>>> a=lambda x,y:x*y
>>> a(2,3)6
优势:
使用python编写一些执行脚本时,lambda可以省去定义函数的过程,让代码更加精简。
对于抽象,不需要复用的函数,定义名称时比较困难,使用lambda不需要考虑名称的命名;
使用lambda 可以让代码更加容易理解;
lambda 基础
lambda 语句中,冒号前是参数,可以用多个,用逗号分隔,冒号右边是返回值。
lambda 语句构建的其实是一个函数对象;;>>> lambda x,y:x*y
at 0x7f9bed0d3578>
>>> a=lambda x,y:x*y
>>> a
at 0x7f9bed0e58c0>
>>> a(2,2)
4
lambda应用实例:
reduce 为逐次操作list里的每项,接受的参数为2个,最后返回的为一个结果乘积
>>> l=range(1,6)
>>> l
[1, 2, 3, 4, 5]
>>> def f(x,y):
... return x*y
...
>>> reduce (f,l) #将函数f,作用于l序列
120
转换
>>> f=lambda x,y:x*y
>>> reduce (f,l)
120
>>> reduce(lambda x,y:x*y,l) #l列表
120
>>>
本文发布于:2024-01-28 20:33:23,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170644520410098.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |