python lambda 表达式

python 官方文档
入门教程
20191209

4.7.6 lambda 表达式

可以用 lambda 关键字来创建一个小的匿名函数。这个函数返回两个参数的和: lambda a, b: a+b 。Lambda函数可以在需要函数对象的任何地方使用。它们在语法上限于单个表达式。从语义上来说,它们只是正常函数定义的语法糖。与嵌套函数定义一样,lambda函数可以引用包含范围的变量:

lamda argument1,argument2,argument3,…argumentN:expression using arguments
lamda是一个表达式,而不是一个语句,因为这一点,lambda 能够出现在python语法中不允许def出现的地方
例如,在一个列表常量中或者函数调用的参数中。


# lambda
f = (lambda x,y,z: x+y+z)
print(f(2,3,4))
print(f)

x = (lambda a = 'fee',b = 'fie',c = 'foe':a+b+c)
print(x('wee'))

运行结果:
9
<function at 0x02C42078>
weefiefoe

为什么使用lambda
通常来说,lambda起到了一种函数速写的作用,允许在使用的代码内嵌入一个函数的定义,他们完全是可选的(你总是能够使用def代替他们),但是在你仅需要嵌入小段可执行代码``的情况下,他们会带来一个更简洁的代码结构。

# lambda 传递一个小函数作为参数:
pairs = [(1,'one'),(2,'two'),(3,'three'),(4,'four')]
pairs.sort(key=lambda pair:pair[1]) # 以第二个参数为排序标准
print(pairs)

pairs.sort(key=lambda pair:pair[0]) # 以第一个参数为排序标准
print(pairs)

运行结果

[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值