Python中lambda表达式的用法
2026/9/9 0:54:07 网站建设 项目流程

表达式自身是一种极为基础的函数语法, 其根本功能与运用def所界定的函数并无二致, 不过表达式基本上在一行之内便完整地呈现了整个函数的运算逻辑, 在此我们简略展示一些表达式的使用实例, 以此供作参考。

二元求和

最开头的时候, 我们试着来弄一个情况, 这个情况是最简单的二元进行求和的那种, 输入进去两个参数, 这两个参数分别是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函数

假如在某些场景里, 函数是以高频率被调用的, 诸如凸优化算法这种情况, 又或者是当中map函数的实现方面, 这里就以map函数当作示例来呈现一下函数于其中的使用方法:

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所定义的函数范围里,我们得以去执行无论何种格式的代码。然而在表达式情形下, 诸如像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替换所有奇数。这里面用到的运算符是>>移位算符, 它和常用的//符号等价。但这极其值得予以关注, 理由是诸多言词之中, 移位算符的操作速度比四则运算算符更快。

总结

本文主要呈现了一些表达式的运用示例, 借由这些示例, 我们能够知晓表达式的常用语法以及运用的场景。通常状况下, 其最大的意义便是简化了中函数的定义方式, 然而在可读性方面远远比不上由def所确定的函数。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询