• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python3 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)))
    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所定义的函数。

    以上就是python3 lambda表达式详解的详细内容,更多关于python3 lambda表达式的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
    • Python lambda表达式filter、map、reduce函数用法解析
    • Python的Lambda函数用法详解
    • python lambda的使用详解
    • 详解python中的lambda与sorted函数
    • 详解Python的lambda函数用法
    上一篇:python3使用迭代生成器实现减少内存占用
    下一篇:python json.dumps中文乱码问题解决
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python3 lambda表达式详解 python3,lambda,表达式,详解,