前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中的lambda表达式

python中的lambda表达式

作者头像
灯珑LoGin
发布2022-10-24 14:17:48
4960
发布2022-10-24 14:17:48
举报
文章被收录于专栏:龙进的专栏

lambda表达式也叫做匿名函数。通常在需要一个函数但又不想费神去定义它的时候。

简单的一个例子:

代码语言:javascript
复制
def add(x, y):
    return x+y

lambda x, y: x+y

这就是求x+y用普通方法定义函数和用lambda表达式的区别。lambda表达式没有函数名,x, y 与定义一般函数时括号中的参数一致,‘:’右边的是要返回的值。lambda表达式不需要用”return”关键字返回内容,函数默认会返回”:”右边的值。注意例子中的lambda表达式没有函数名

我们还可以把lambda表达式赋值给变量

代码语言:javascript
复制
f = lambda x, y: x+y

z = f(1, 2)
print(z)

执行结果如下:

代码语言:javascript
复制
3

既然lambda表达式没有函数名,那在什么时候会用到lambda表达式呢?

1.程序只执行一次,不需要定义函数名,使用lambda表达式方便定义,且节省了内存中变量的定义

2.在某些函数中必须以函数作为参数,但是函数本身十分简单而且只在一处使用。

例如下面的代码:

代码语言:javascript
复制
l1 = [1, 2, 3, 4, 5, 6, 7, 8]
l2 = [item for item in filter(lambda x:x > 5, l1)]
print(l2)

执行结果如下:

代码语言:javascript
复制
[6, 7, 8]

filter作为python的内置函数,用于过滤序列,即过滤掉不需要的元素。filter函数的第一个参数需要传入另一个函数,传入的函数用来作为筛选条件,满足条件的返回”True”,否则返回”False”。在这个例子中使用lambda表达式会使程序变得更加简洁。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年7月28日2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档