首页 > 编程语言 >Python中lambda表达式的用法

Python中lambda表达式的用法

时间:2024-04-28 19:45:37浏览次数:37  
标签:None 函数 示例 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所定义的函数。

标签:None,函数,示例,Python,python,表达式,lambda
From: https://www.cnblogs.com/xxpythonxx/p/18164375

相关文章

  • python使用迭代生成器yield减少内存占用的方法
    在python编码中for循环处理任务时,会将所有的待遍历参量加载到内存中。其实这本没有必要,因为这些参量很有可能是一次性使用的,甚至很多场景下这些参量是不需要同时存储在内存中的,这时候就会用到本文所介绍的迭代生成器yield。1.基本使用首先我们用一个例子来演示一下迭代生成器yi......
  • Python多线程编程深度探索:从入门到实战
    title:Python多线程编程深度探索:从入门到实战date:2024/4/2818:57:17updated:2024/4/2818:57:17categories:后端开发tags:多线程并发编程线程安全Python异步IO性能优化实战项目第1章:Python基础知识与多线程概念Python简介:Python是一种高级、通用、解释......
  • python读取文件指定行的三种方法
    1.行遍历实现在python中如果要将一个文件完全加载到内存中,通过file.readlines()即可,但是在文件占用较高时,我们是无法完整的将文件加载到内存中的,这时候就需要用到python的file.readline()进行迭代式的逐行读取:filename='hello.txt'withopen(filename,'r')asfile:l......
  • 在Python中将字典转为成员变量的方法
    当我们在Python中写一个class时,如果有一部分的成员变量需要用一个字典来命名和赋值,此时应该如何操作呢?这个场景最常见于从一个文件(比如json、npz之类的文件)中读取字典变量到内存当中,再赋值给一个类的成员变量,或者已经生成的实例变量。使用__dict__定义成员变量在python中直接支......
  • python裁切视频后三秒
    代码: importsubprocessfromdatetimeimporttimedeltaimportosdefparse_time(time_str):"""将时间字符串解析为秒"""hours,minutes,seconds=map(int,time_str.split(':'))returntimedelta(hours=hours,minutes......
  • 第一章 python基础
    1.变量1.1变量的概念可以改变的量就是变量,实际上指代码的是内存的一块空间在内存中,变量默认一次只能指向一个值,当一个值没有任何变量指向的时候,内存会自动把数据从内存释放1.2变量的命名字母、数字、下划线,首字符不能为数字严格区分大小写,且不能使用关键字变量命......
  • 理解正则表达式中的括号 (),方括号 [] 和大括号 {}
    括号():括号在正则表达式中用于捕获匹配的内容,可以将匹配的部分分组,以便后续引用或提取。通过括号,我们可以创建子表达式,实现更复杂的匹配逻辑。例如,可以使用括号来捕获电话号码中的区号和号码部分,或者提取网址中的域名部分。示例:正则表达式:(ab)+,匹配"ababab"中连续重复的"ab"......
  • Python-PyQt5接口压测工具分享
    1、页面介绍  2、运行效果 ......
  • python主题LDA建模和t-SNE可视化
    原文链接:http://tecdat.cn/?p=4261原文出处:拓端数据部落公众号 使用潜在Dirichlet分配(LDA)和t-SNE中的可视化进行主题建模。本文中的代码片段仅供您在阅读时更好地理解。有关完整的工作代码,请参阅完整资料。我们将首先介绍主题建模和t-SNE,然后将这些技术应用于两个数据集:20个......
  • python多个txt合并
    txt数据是这样: 内容: #!usr/bin/envpython#-*-coding:utf-8-*-"""@author:Suyue@file:lianxi.py@time:2024/04/28@desc:"""#-*-coding:utf-8-*-#os模块中包含很多操作文件和目录的函数importos#适用于位置任意的情况,不要求同一目录下meragefile......