Python lambda函数(匿名函数)简介

目录

一、什么是lambda函数

二、lambda函数的语法

三、lambda函数用法示例

1.简单用法

2.与内置函数结合使用

3. 嵌套lambda函数


一、什么是lambda函数

lambda函数是一种可以快速定义匿名函数的方式,匿名函数就是没有具体名称的函数。当我们需要用到函数对象,但又不想用标准的方式定义一个完整的函数时,就可以使用lambda函数,它特别适用于简短的、一次性的函数。

二、lambda函数的语法

lambda函数的语法如下,注意lambda函数是单表达式函数,只能包含一个表达式,不能包含多条语句。

 lambda arguments: expression
 ​
 lambda [参数列表]:表达式
 # 中文语法格式
  • lambda关键字用来声明一个匿名函数。

  • arguments是lambda函数的参数列表,可以有多个参数,参数之间用逗号分隔。

  • expression是lambda函数的表达式,表达式的内容是函数的实现过程,表达式的计算结果是函数的返回值。

三、lambda函数用法示例

1.简单用法

例如计算两数之和,lambda函数接收两个参数x和y,并返回 x + y 的结果,用变量result接收返回结果。

 # 定义一个lambda函数,计算两个数的和
 add = lambda x, y: x + y
 ​
 # 调用lambda函数
 result = add(3, 6)
 print(result)  # 输出: 9
 ​

2.与内置函数结合使用

lambda函数经常与Python的内置函数(如map()filter()sorted()等)一起使用。

 # Lambda函数与sorted()函数嵌套使用
 role_list = [{"name": "张三", "height": "170"}, {"name": "李四", "height": "178"}, {"name": "王五", "height": "175"}]
 sorted_roles = sorted(role_list, key=lambda role: role["height"])
 print(sorted_roles)  # 输出: [{'name': '张三', 'height': '170'}, {'name': '王五', 'height': '175'}, {'name': '李四', 'height': '178'}]
 ​

本例按照身高对角色进行从低到高排序。

3. 嵌套lambda函数

虽然Python允许lambda函数嵌套使用,但嵌套lambda函数可能会使代码变得难以阅读和维护。因此,在使用嵌套lambda函数时需要谨慎,并保证代码的可读性。

 # 定义一个嵌套lambda函数,外层lambda接受两个参数x和y,内层lambda接受一个参数z,即括号里的5
 nested_lambda = lambda x, y: (lambda z: (x + y) * z)(5)
 ​
 # 调用嵌套lambda函数,并打印结果
 result = nested_lambda(2, 3)
 print(result)  # 输出: 25
 ​

在本例中,外层lambda函数接收两个参数x和y,并返回内层lambda函数;内层lambda函数接收一个参数z,并返回 (x + y) * z 的结果。在外层lambda函数的定义中,我们用(5)调用了内层lambda函数,传递了值5作为z的参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值