什么时候用lambda表达式?
当函数有一个返回值,且只有一句代码,可以用lambda简写。
2、lanbda语法
lambda 形参 :? 表达式
注意:
1、形参可以省略,函数的参数在lambda中也适用
2、lambda函数能接收任何数量的参数但只能返回一个表达式的值
第一个列子:
变量名 = lambda x,y :x+y
result = 变量名(1,2)
print(result)
?
函数名 = lambda 数字:数字 % 2 == 0
print(函数名(4))
print(函数名(3))
第一个,打印出值是520的
第二个是两个形参相加
print( ( lambda :520 )( ) )
print( ( lambda a,b : a+b )( 520,1314 ) )
?
#无参数
print( ( lambda :520 )( ) )
#有一个参数
print( ( lambda a:a )( 520 ) )
#默认参数
print((lambda a, b, c=5: a + b + c)(2, 6))
#可变位置参数
print((lambda *args: args)(1, 2, 3))
#可变关键字参数,返回的是一个字典
result = (lambda **kwargs: kwargs)(姓名='孙兴华', 年龄=20)
print(result)
?
#带(判断)条件语句的lambda:
print( ( lambda a,b : a if a>b else b )( 1,2 ) )
reverse=True 或者?reverse=False 来进行排序
列表名 = [{'名': '孙兴华', '龄': 20}, {'名': '赵丽颖', '龄': 33}, {'名': '李小龙', '龄': 80}]
列表名.sort(key=lambda x: x['名'], reverse=True)
print(列表名)
?