python lambda表达式 if_Python学习-lambda表达式
lambda只是一个表达式,函数体比def简单很多。lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。
#求三个数的和
1 f = lambda x,y,z:x+y+x2 print(f(1,2,3)) #4
3
4 f = lambda x,y,z:x+y+z5 print(f(1,2,3)) #6
在常规的def函数构造中,可以有任意数量的语句,并且在def函数定义中,首先需要给函数一个名称,对于lambda表达式而言,lambda是一个匿名函数,不需要给lambda构造提供任何名称。
lambda的构造更多的是为了方便,当你需要构造一个lambda函数时,请记住以下几点:
1、lambda是一个表达式,而不是一个语句,它不支持表达式块。
2、lambda在我们需要的地方进行定义,它不需要命名。
3、lambda不需要返回语句
具有单一参数的Lambda的构造
1 #具有单一参数的lambda结构构造
2 x = [23,34,55]3 func = lambdax:max(x)4 print(func(x)) #55
具有多个参数的Lambda构造:
1 #具有多个参数的lambda构造
2 price,volume = 60,20
3 func = lambda price,volume:price/volume4 print(func(price,volume)) #3.0
具有逻辑运算符的Lambda构造
1 #具有逻辑运算符的Lambda构造
2 signal = ‘SELL’
3 func = lambda x:x>50 and signal == ‘BUY’
4 print(func(65)) #False
带有条件表达式的Lambda构造
1 #带有条件表达式的Lambda构造
2 func = lambda x:’BUY’ if x > 45 else ‘SELL’
3 print(func(56)) #BUY
构建带有多个if…else语句的Lambda表达式
1 #带有多个条件语句的lambda表达式
2 func = lambda x:’BUY’ if x <= 30 else ‘SELL’ if x >= 70 else ‘None’
3 print(func(78)) #SELL
将Lambda表达式与Map、Filter和Reduce功能一起使用
Lambda通常与map()、filter()和reduce()等函数结合在一起使用
1 #lambda与map()映射函数一起使用
2 seq = [1,2,3,4,5]3 func = map(lambda x:x**2,seq)4 print(list(func)) #[1, 4, 9, 16, 25]
1 #lambda与filter()滤波函数一起使用
2 Signals = [‘Buy’,’Sell’,None,’Sell’,’Sell’,’Sell’]3 func = filter(lambda x:x == ‘Buy’ or x == ‘Sell’,Signals)4 print(list(func)) #[‘Buy’, ‘Sell’, ‘Sell’, ‘Sell’, ‘Sell’]
1 #lambda与reduce()函数一起使用
2 #在python 3中,reduce()函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里
3 #如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:
4 from functools importreduce5 print(reduce((lambda x,y:x + y),[2,1.35,-2.4,3])) #3.95
参考:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180710.html原文链接:https://javaforall.cn
相关文章
- 快速入门Python机器学习(15)
- 快速入门Python机器学习(29)
- 【python教程入门学习】PyCharm下载和安装教程(包含配置Python解释器)
- Python实现k-近邻算法案例学习
- 【干货】Python 函数式编程,看这一篇就够了!
- OpenCV-Python学习(15)—— OpenCV 鼠标操作和响应(cv.setMouseCallback)
- 【说站】python setup和teardown的使用
- Python的正则表达式_python正则表达式例子
- python界面设计Tkinter学习(1)
- python的enumerate函数怎么加判断条件_java中比int大的整数类型
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- Flet-基于Flutter的Python跨平台开发框架(组件学习)
- Q学习(Q-learning)入门小例子及python实现
- Python获取时间戳—学习笔记
- Python编程经典案例【考题】找出两个字符串中相同字符和不同字符
- python机器学习库sklearn——朴素贝叶斯分类器[通俗易懂]
- 【Python_环境配置】Pycharm创建虚拟环境
- 【Python模块和包】模块含义、模块好处、模块分类、包和模块的创建
- Python 实现进制转换与反汇编
- PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化|附代码数据
- Python在windows下模拟按键和鼠标点击代码详解编程语言
- Python电子邮件——学习笔记详解编程语言
- python安装和基础语法学习详解编程语言
- 一步一步学会在Linux上运行Python程序(linux运行python程序)
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- python学习Linux、Python,体验自由的乐趣(lexlinux)
- 在Linux上学习Python——你的编程之路(linux学python)
- python操作mysql中文显示乱码的解决方法
- Python实现子类调用父类的方法