python lambda表达式
lambda又称为匿名函数,只能做一些简单的函数操作,较为方便和简单。省去了def的函数定义格式
1、基本格式:
>lambda 参数 : 执行代码块
#下边就是计算两个数之和
sum = lambda x,y : x+y
#调用函数
result = sum(3,4)
print(result)
注意:
Lambda函数能接收任何数量的参数但只能返回一个表达式的值
匿名函数不能直接调用print,因为lambda需要一个表达式
2、应用场景
1.通过lambda进行数据筛选
list_test = [23,12,23]
result = (lambad x:x>15,list_test)
print(result)
2.作为内置函数的参数
#对列表中的数据进行正序,我们通过key可以指定排序的规则
listTest = [1,4,6,2,89]
#默认情况下我们sort函数缺省,这个时候是按照大小进行排序的,通过比较ASCII码排序。
listTest.sort(key = lambda x: x+2 if x<5 else x/2)
print(listTest)
>>>[1, 6, 2, 4, 89]
#这样我们就完成了对值得处理和排序
3、调用函数的lambda表达式
def test():
print("x的值为:",x)
mylamb = lambda x:test(x)
result = mylamb('拾元')
print(result)
4、函数作为参数
函数作为参数传递
自己定义函数
>>> def fun(a, b, opt):
print(a,b,opt)
>>> fun(1, 2, lambda x,y:x+y)
>>>1,2,3