Python之lambda表达式
lambda也称之为匿名函数,与常规函数相比:常规函数def必须通过其函数名被调用,因此必须首先被定义。但是作为一个表达式的lambda,返回的函数对象就不需要名字了。lambda专注于简单的任务,而常规函数则负责更复杂的多行逻辑。lambda表达式的主体是只有一行的简单表达式,并不能扩展成多行。
lambda表达式:lambda argument1, argument2,… argumentN : expression
需要注意:lambda是一个表达式(expression),而不是一个语句(statement)。表达式是一系列操作,比如 x * 2; x+y;等等。而语句是完成某个功能,比如x = x + 1; x = x + y;等等。因此,lambda可以用在一些常规函数def不能用的地方,比如列表内部,或者函数的参数(map、reduce、filter、sorted等这些函数都支持函数作为参数)。
talk is cheap, show me the code.
# 列表内部
l = [1, 2, 3, 4, 5]
new_l = [(lambda x : x**2)(x) for x in l]
print(new_l)
# 输出结果为:
# [1, 4, 9, 16, 25]
# 函数参数
l = [(1, 5, 6), (4, 0, 1), (2, 3, 9)]
l.sort()
print(l)
# 默认排序按照元组中第一位数字进行排序,按照从小到大顺序。若倒序排,则可以设置reverse=True
# 输出结果为:
# [(1, 5, 6), (2, 3, 9), (4, 0, 1)]
l.sort(key=lambda x : x[1]) # 按照元组中第二位数字进行排序
print(l)
# 输出结果为:
# [(4, 0, 1), (2, 3, 9), (1, 5, 6)]
l = [3, 5, -4, -1, 0, -2, -6]
l.sort(key=lambda x : abs(x)) # 按照元素的绝对值大小进行排序
print(l)
# 输出结果为:
# [0, -1, -2, 3, -4, 5, -6]
d = {'mike': 10, 'lucy': 2, 'ben': 30}
new_d = sorted(d.items(), key=lambda val : val[1], reverse=True) # 按照值进行从大到小排序
print(new_d)
# 输出结果为:
# [('ben', 30), ('mike', 10), ('lucy', 2)]
使用场景:程序中需要使用一个函数完成一个简单的功能,并且该函数只调用一次。
Python之lambda表达式相关推荐
- python的lambda表达式是什么?什么是回调函数?
python的lambda表达式是什么?什么是回调函数? lambda lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数 lambda函数:首要用 ...
- Python中lambda表达式的优缺点及使用场景
lambda表达式是什么? lambda 表达式是 Python 中创建匿名函数的一个特殊语法. 称 lambda 语法本身为 lambda 表达式,而它返回的函数我称之为 lambda 函数,或者称 ...
- php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)
本篇文章给大家带来的内容是关于Python中lambda表达式的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一:匿名函数的定义 lambda parameter ...
- python中lambda 表达式(无参数、一个参数、默认参数、可变参数(*args、**kwargs)、带判断的lambda、列表使用lambda)
如果⼀个函数有⼀个返回值,并且只有⼀句代码,可以使⽤ lambda简化. lambda语法: lambda 参数列表 : 表达式 注意: lambda表达式的参数可有可⽆,函数的参数在lambda表达 ...
- 零基础入门学习Python(20)-lambda表达式、filter()、map() BIF
lambda表达式 lambda关键字的使用 Python允许使用lambda关键字来创建匿名函数 基本语法:使用冒号(:)分隔函数的参数及返回值,冒号左边放置函数的参数,如果有多个参数,使用逗号(, ...
- Python的lambda表达式
2019独角兽企业重金招聘Python工程师标准>>> lambda表达式,本质上是一个匿名函数.执行一个lambda表达式会在内存中生成一个函数对象,并且返回该函数对象的引用.同d ...
- Python之lambda表达式和内置函数
lambda表达式其实就是简化的函数表达式. 它只用于处理简单逻辑, 它会自动return数据 通常定义一个函数,按照以下形式: 1 2 3 4 5 def func(arg): ret ...
- python 用lambda表达式代替简单的函数, 匿名函数
当一些函数很简单,仅仅只是计算一个表达式的值的时候,就可以使用lambda表达式来代替了. 比如: >>> add = lambda x,,y : x + y >>> ...
- Python:lambda表达式的两种应用场景
1.lambda表达式 python书写简单,功能强大, 迅速发展成为 AI ,深度学习的主要语言.介绍Python中的lambda表达式,注意到,它只是一个表达式,不是语句啊. lambda的语法规 ...
- day17.Python中lambda表达式应用
对于简单的函数,也存在一种简便的表示方式,即:lambda表达式 #普通函数 1 def func(a): 2 return a+1 3 print 'test1_func0:',func(1000) ...
最新文章
- 我的世界java版移除猪灵了吗_我的世界:激怒僵尸猪灵有奖励,用菌光体堆肥,修复126个漏洞!...
- [vim]高亮查找匹配
- 终于收到为广州.NET俱乐部活动准备的礼品了:)
- HttpService远程校验
- 信息学奥赛一本通(2073:【例2.16 】三角形面积)
- 成员/方法/属性/私有
- 获取系统分辨率_一文弄懂高分辨率高速快门CMOS成像传感器技术应用现状
- UI设计师应该知道的命名规范
- F8Net:只有8比特乘法的神经网络量化
- redis主从架构宕机问题解决方法
- java arraylist 字符串数组_java中String,数组,ArrayList三者之间的转换
- 基于java的试题库管理系统(java CS窗体版)
- python 网络监控系统手机版下载_云视通网络监控系统手机版下载_云视通下载手机版-太平洋下载中心...
- IT学生技术入门值得关注的网站(页)链接
- 快速入门了解后端网络方面必备知识
- android手机log文件工具,手机文件日志app下载-手机文件日志 安卓版v1.0-PC6安卓网...
- Exchange2016将用户头像发布到全局地址列表(GAL)
- CAD版本转换知识大全
- python学习 day013打卡 内置函数
- shell编程—tomcat自动发包详解