可以用 lambda 关键字来创建一个匿名函数。lambda 函数可以在需要函数对象的任何地方使用。从语义上来说,它们只是正常函数定义的语法糖。

名词

Lambda( /ˈlæmdə/ 大写Λ,小写λ,中文音译:兰布达),是第十一个希腊字母。1958 年 LISP 首先采用匿名函数(英语:Anonymous Function),自此之后,越来越多编程语言陆续采用。

语法结构

lambda <变量>: <逻辑表达式代码>

说明:

  • 变量可以一个,也可以多个用逗号隔开,这个变量会用在后边逻辑代码里使用
  • 变量后边紧跟着冒号,冒号后边为逻辑代码
  • 逻辑代码的计算结果为 lambda 的返回值

实例

add = lambda x,y: x+y
add(1,4)
# 5

上例中利用 lambda 定义 x 和 y 两个变量,逻辑为把这两个变量相加并返回,再把这个匿名函数赋值给 add, 最后我们就可以把 add 当做一个普通的函数去调用。

当然,我们也可以不用赋值变量,即时定义即时使用调用,如下:

(lambda x,y: x+y)(3,5)
# 8

可以认为 lambda 是一个不需要起名的快捷函数,可以随时定义随时使用。

其他使用

条件判断

# 两个数的最大值
(lambda x,y: x if x>y else y )(49,5)
# 49

和字典结合

# 可以定义在字典的值里,用 key 来调用
d = {'+': lambda x,y: x+y, '-': lambda x,y: x-y}
d['+'](3, 8)
# 11

map

# 作为 map 的迭代方法
a = [1, 2, 3, 4, 5, 6]
result = map(lambda x: x+1, a)
list(result)
# [2, 3, 4, 5, 6, 7]

filter

# 作为过虑器的过滤逻辑
a = [1, 2, 3, 4, 5, 6]
result = filter(lambda x: x%2==0, a)
list(result)

reduce

from functools import reduce # 作为 reduce 累积迭代的方法
a = [1, 2, 3, 4, 5, 6]
result = reduce(lambda x, y: x+y, a)
result
# 21

sorted

# 指定属性排序
s = [{'name': 'tom', 'age': 22},{'name': 'lily', 'age': 19},{'name': 'lucy', 'age': 20}]sorted(s, key=lambda x: x['age'])# [{'name': 'lily', 'age': 19},
#  {'name': 'lucy', 'age': 20},
#  {'name': 'tom', 'age': 22}]

Python 教程 - 盖若​www.gairuo.com

注:我将开始编写《Python 教程》将在我的个人网站https://www.gairuo.com同步连载更新,欢迎关注。

python lambda_Python 匿名函数 lambda相关推荐

  1. python的匿名函数lambda

    #/普通函数 def func(a,b,c):return a+b+cprint(func(1,2,3)) #返回值为6#lambda匿名函数 func = lambda a,b,c:a+b+cpri ...

  2. python匿名函数lambda_python的匿名函数lambda解释及用法

    无参匿名函数: ------ >>> t = lambda : True #分号前无任何参数 >>> t() True 等价于下面的def定义的函数 >> ...

  3. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)

    python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...

  4. Python内置函数filter()和匿名函数lambda解析

    一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...

  5. Python教程:内置函数filter()和匿名函数lambda解析

    一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...

  6. python学习-高阶函数(函数传参、返回函数(闭包)、匿名函数lambda)

    文章目录 高阶函数 函数传参 返回函数(闭包) 匿名函数lambda 高阶函数 定义: 至少满足下列一个条件: 接受一个或多个函数作为输入 输出一个函数 python里的高阶函数有 filter.ma ...

  7. Python 匿名函数 lambda - Python零基础入门教程

    目录 一.Python 匿名函数 lambda 语法 二.Python 匿名函数 lambda 调用 1.lambda 匿名函数常规使用 2. lambda 匿名函数使用不定长参数 3. lambda ...

  8. 用python计算1~100的阶乘之和_在Python中递归函数调用举例and匿名函数lambda求1~100的和及计算阶乘举例...

    1.递归列出目录里的文件的脚本举例 列出目录中的文件可以通过下面方法:os.listdir() In [1]: import os In [4]: os.listdir('/root') Out[4] ...

  9. python声明匿名函数_举例讲解Python的lambda语句声明匿名函数的用法

    所谓匿名函数,即是不需要定义函数,像表达式一样使用,不需要函数名(很多时候名字让我很困扰),一些简单的函数简单化, 举个例子 我需要两个整数相加的函数,通常是这么定义的def add(x, y): r ...

最新文章

  1. 计算机及网络应用基础思维导图_思维导图在生物教学中的应用
  2. 高可用 Prometheus 架构实践中的踩坑集锦
  3. Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集
  4. 黎明觉醒火种测试服务器维护,黎明觉醒火种测试什么时候上线 黎明觉醒火种测试资格获取方式(图文)...
  5. python 计算文件的MD5
  6. 如何规划网站设计方案让用户访问更加舒适?
  7. 看“意大利文艺复兴艺术展”(1)
  8. php mysql 截取字符串长度,mysql字符串截取
  9. 研究大华3G设备接入自主视频开发平台
  10. 天下会-百度搜索技巧语法大全
  11. java 非法线程_JVM中的线程行为
  12. 苹果折叠iPhone终于有动作了!已送样至富士康,售价将超万元
  13. 使用filterRules过滤ueditor的内容
  14. 【案例】自由运动小球
  15. spring cloud(一) 副 consul
  16. linux 小度 驱动_arm-linux移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)
  17. Linux网络服务之常规vsFTP服务配置(超级详细图解一步骤一图)
  18. wincc做皮带动画_WINCC中制作管道流体流动动画的一种方法
  19. nvm-windows下载与安装
  20. 极域工具包 1.1正式发布!窗口化极域,解键盘锁,适配学生机房管理助手7.4-7.5!

热门文章

  1. HDU 3251 Being a Hero
  2. SegWit与BCH交易量及投资者流量更新
  3. Database · 理论基础 · 关于一致性协议和分布式锁
  4. vue音乐项目歌手详情页小结
  5. (1)虚拟机管理——在微软云Azure新门户创建虚拟机
  6. BZOJ3992:[SDOI2015]序列统计——题解
  7. 面向开发者的2018年AI趋势分析
  8. python学习笔记(3) -- 常用数据类型
  9. 系统调优,你所不知道的TIME_WAIT和CLOSE_WAIT
  10. WINCE开发中,EBOOT模式下,TFTP方式无法下载NK镜像的问题解决方案