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

 更新时间:2024年04月29日 09:02:54   作者:python学习者0  
本文主要展示了一些lambda表达式的使用示例,通过这些示例,我们可以了解到lambda表达式的常用语法以及使用的场景,感兴趣的朋友跟随小编一起看看吧

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表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux系统(CentOS)下python2.7.10安装

    Linux系统(CentOS)下python2.7.10安装

    这篇文章主要为大家详细介绍了Linux系统(CentOS)下python2.7.10安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 关于python的第三方库下载与更改方式

    关于python的第三方库下载与更改方式

    这篇文章主要介绍了关于python的第三方库下载与更改方式,使用python的朋友都知道python有很多非常方便的第三方库可以使用,那么如果下载这些第三方库呢,今天小编就带你们来看看
    2023-04-04
  • 分享几道你可能遇到的python面试题

    分享几道你可能遇到的python面试题

    最近去笔试,在面试过程中遇到了几个编程题,比较基础。所以想着总结一下,所以下面这篇文章主要给大家分享了几道你可能遇到的python面试题,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-07-07
  • Python实战之能监控文件变化的神器—看门狗

    Python实战之能监控文件变化的神器—看门狗

    这篇文章主要介绍了Python实战之能监控文件变化的神器—看门狗,文中有非常详细的图文及代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • python基础--除法(/,//,%)的应用说明

    python基础--除法(/,//,%)的应用说明

    这篇文章主要介绍了python基础--除法(/,//,%)的应用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Win7上搭建Cocos2d-x 3.1.1开发环境

    Win7上搭建Cocos2d-x 3.1.1开发环境

    现在,越来越多的公司采用Cocos2d-x 3.0来开发游戏了,但是现在这样的文章并不多,所以打算写一系列来帮助初学者快速掌握Cocos2d-x 3.0。首先就从开发环境的大家说起吧
    2014-07-07
  • pycharm 使用tab跳出正在编辑的括号(){}{}等问题

    pycharm 使用tab跳出正在编辑的括号(){}{}等问题

    这篇文章主要介绍了pycharm 使用tab跳出正在编辑的括号(){}{}等问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Python 转换时间戳为指定格式日期

    Python 转换时间戳为指定格式日期

    这篇文章主要为大家介绍了Python转换时间戳,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 用Python实现一个简单的能够上传下载的HTTP服务器

    用Python实现一个简单的能够上传下载的HTTP服务器

    这篇文章主要介绍了用Python实现一个简单的能够上传下载的HTTP服务器,是Python网络编程学习当中的基础,本文示例基于Windows操作系统实现,需要的朋友可以参考下
    2015-05-05
  • Python装饰器使用方法全面梳理

    Python装饰器使用方法全面梳理

    这篇文章主要介绍了Python @property装饰器的用法,在Python中,可以通过@property装饰器将一个方法转换为属性,从而实现用于计算的属性,下面文章围绕主题展开更多相关详情,感兴趣的小伙伴可以参考一下
    2023-01-01

最新评论