书写格式:
书写格式: lambda 参数列表 : 表达式
- lambda表达式的参数可有可⽆,函数的参数在lambda表达式中完全适⽤。
- lambda函数能接收任何数量的参数但只能返回⼀个表达式的值
使用示例
普通函数实现
def add(a, b):
return a + b
result = add(1, 2)
print(result)
上面代码等价于:
print((lambda a, b: a + b)(1, 2))
也可以具有默认参数:
print((lambda a, b, c=100: a + b + c)(10, 20))
与排序函数搭配使用
lambda 函数 可与 .sort( )
或 sorted( )
搭配实现灵活排序。
基本格式: list.sort( key= lambda 元素:元素[字段索引] )
>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数排序
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> sorted(L, key=lambda x:x[1]) # 利用key排序,以每个元素的第二个索引进行排序
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> words.sort(key=lambda x: (-len(x), x), reverse=True) #先以-len(x)进行排序,等序时再以 x 作为次级排序。