Python中lambda表达式的用法

嗨喽,大家好呀~这里是爱看美女的茜茜呐

Python中lambda表达式的用法_第1张图片

lambda表达式本身是一个非常基础的python函数语法,

其基本功能跟使用def所定义的python函数是一样的,

只是lambda表达式基本在一行以内就完整的表达了整个函数的运算逻辑。

这里我们简单展示一些lambda表达式的使用示例,以供参考。


更多精彩机密、教程,尽在下方,赶紧点击了解吧~

python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


二元求和

首先我们尝试一个最简单的二元求和的ipython案例,

输入两个参数x和y,返回这两个元素的和:

[dechin@dechin-manjaro 2021-python]$ ipython
Python 3.8.5 (default, Sep  4 2020, 07:30:14) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.
 
In [1]: sum2 = lambda x,y: x+y
 
In [2]: sum2(3,5)

Out[2]: 8

结合map函数

在一些函数被频繁调用的场景,比如凸优化算法,

或者是python中的map函数实现,

这里以map函数为示例展示一下lambda函数在其中的用法:

'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
In [9]: list(map(lambda x:x**2, range(10)))

Out[9]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

去掉奇数

在def所定义的python函数中,我们可以执行任意的python格式的代码,

但是在lambda表达式下,像if这种常见的条件判断语句的语法要发生一定的变化,

可以参考如下示例:

In [19]: list(map(lambda x:x if x-(x>>1)*2==0 else None, range(10)))

Out[19]: [0, None, 2, None, 4, None, 6, None, 8, None]

这个案例演示的是,输入一个数组,经过一些运算之后保留偶数,而用None替换所有的奇数。这里面用到的运算符是>>移位算符,其等价于常用的//符号。

但是这非常值得引起重视,因为在有些语言中,移位算符的操作速度要高于四则运算的算符。

总结

本文主要展示了一些lambda表达式的使用示例,通过这些示例,我们可以了解到lambda表达式的常用语法以及使用的场景。

在一般情况下,其最大的意义还是简化了python中函数的定义方式,在可读性上远不如def所定义的函数。

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦

希望本篇文章有对你带来帮助 ,有学习到一点知识~

躲起来的星星也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀

你可能感兴趣的:(python,python,开发语言,pycharm,学习)