当前位置: 代码网 > it编程>前端脚本>Python > Python中lambda表达式的用法示例小结

Python中lambda表达式的用法示例小结

2024年05月28日 Python 我要评论
python中的lambda表达式是一种创建匿名函数的方式,它们可以用于任何需要函数对象的地方,尤其是在简化和减少代码量方面非常有用。lambda表达式本身是一个非常基础的python函数语法,其基本

python中的lambda表达式是一种创建匿名函数的方式,它们可以用于任何需要函数对象的地方,尤其是在简化和减少代码量方面非常有用。

lambda表达式本身是一个非常基础的python函数语法,其基本功能跟使用def所定义的python函数是一样的,只是lambda表达式基本在一行以内就完整的表达了整个函数的运算逻辑。这里我们简单展示一些lambda表达式的使用示例,以供参考。

二元求和

首先我们尝试一个最简单的二元求和的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函数在其中的用法:

in [9]: list(map(lambda x:x**2, range(10)))
#学习中遇到问题没人解答?小编创建了一个python学习交流群:153708845
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中lambda表达式的用法的文章就介绍到这了,更多相关python lambda表达式内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com