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表达式相关推荐

  1. python的lambda表达式是什么?什么是回调函数?

    python的lambda表达式是什么?什么是回调函数? lambda lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数 lambda函数:首要用 ...

  2. Python中lambda表达式的优缺点及使用场景

    lambda表达式是什么? lambda 表达式是 Python 中创建匿名函数的一个特殊语法. 称 lambda 语法本身为 lambda 表达式,而它返回的函数我称之为 lambda 函数,或者称 ...

  3. php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中lambda表达式的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一:匿名函数的定义 lambda parameter ...

  4. python中lambda 表达式(无参数、一个参数、默认参数、可变参数(*args、**kwargs)、带判断的lambda、列表使用lambda)

    如果⼀个函数有⼀个返回值,并且只有⼀句代码,可以使⽤ lambda简化. lambda语法: lambda 参数列表 : 表达式 注意: lambda表达式的参数可有可⽆,函数的参数在lambda表达 ...

  5. 零基础入门学习Python(20)-lambda表达式、filter()、map() BIF

    lambda表达式 lambda关键字的使用 Python允许使用lambda关键字来创建匿名函数 基本语法:使用冒号(:)分隔函数的参数及返回值,冒号左边放置函数的参数,如果有多个参数,使用逗号(, ...

  6. Python的lambda表达式

    2019独角兽企业重金招聘Python工程师标准>>> lambda表达式,本质上是一个匿名函数.执行一个lambda表达式会在内存中生成一个函数对象,并且返回该函数对象的引用.同d ...

  7. Python之lambda表达式和内置函数

    lambda表达式其实就是简化的函数表达式. 它只用于处理简单逻辑, 它会自动return数据 通常定义一个函数,按照以下形式: 1 2 3 4 5 def  func(arg):       ret ...

  8. python 用lambda表达式代替简单的函数, 匿名函数

    当一些函数很简单,仅仅只是计算一个表达式的值的时候,就可以使用lambda表达式来代替了. 比如: >>> add = lambda x,,y : x + y >>> ...

  9. Python:lambda表达式的两种应用场景

    1.lambda表达式 python书写简单,功能强大, 迅速发展成为 AI ,深度学习的主要语言.介绍Python中的lambda表达式,注意到,它只是一个表达式,不是语句啊. lambda的语法规 ...

  10. day17.Python中lambda表达式应用

    对于简单的函数,也存在一种简便的表示方式,即:lambda表达式 #普通函数 1 def func(a): 2 return a+1 3 print 'test1_func0:',func(1000) ...

最新文章

  1. 我的世界java版移除猪灵了吗_我的世界:激怒僵尸猪灵有奖励,用菌光体堆肥,修复126个漏洞!...
  2. [vim]高亮查找匹配
  3. 终于收到为广州.NET俱乐部活动准备的礼品了:)
  4. HttpService远程校验
  5. 信息学奥赛一本通(2073:【例2.16 】三角形面积)
  6. 成员/方法/属性/私有
  7. 获取系统分辨率_一文弄懂高分辨率高速快门CMOS成像传感器技术应用现状
  8. UI设计师应该知道的命名规范
  9. F8Net:只有8比特乘法的神经网络量化
  10. redis主从架构宕机问题解决方法
  11. java arraylist 字符串数组_java中String,数组,ArrayList三者之间的转换
  12. 基于java的试题库管理系统(java CS窗体版)
  13. python 网络监控系统手机版下载_云视通网络监控系统手机版下载_云视通下载手机版-太平洋下载中心...
  14. IT学生技术入门值得关注的网站(页)链接
  15. 快速入门了解后端网络方面必备知识
  16. android手机log文件工具,手机文件日志app下载-手机文件日志 安卓版v1.0-PC6安卓网...
  17. Exchange2016将用户头像发布到全局地址列表(GAL)
  18. CAD版本转换知识大全
  19. python学习 day013打卡 内置函数
  20. shell编程—tomcat自动发包详解

热门文章

  1. cssz中a标签鼠标选中去除选中边框
  2. CRM Online Outlook Client Configuration Wizard
  3. Tomcat启动默认访问项目
  4. 极客先锋 如何生成git的公钥和私钥
  5. Velocity 语法示例
  6. 【南邮操作系统实验】页面置换算法 (FIFO、LRU、OPT)Java 版
  7. Linux安装redis数据库
  8. 用 Python 爬取了《雪中悍刀行》数据,终于知道它为什么这么火了
  9. 学数据分析究竟要懂哪些统计学?全都给你梳理好了,拿走不谢
  10. ddr老化测试_手把手教你评估和测试固态存储【深度】