在 Python中除了def 可以声明一个函数以为,使用lambda表达式也是生成函数对象的表达式形式,对于一个比较简单的,在函数中只有一小部分代码的时候,使用lambda表达式更加清晰
- 语法格式
fn = lambda[arg1,arg2,arg3]:执行语句
def sum(x,y):
return x + y
sum2 = lambda x , y : x + y
print(sum(1,1))
print(sum2(1,1))
结果都为2
结论:从上面的栗子中可以看出sum和sum2的执行效果是一样的
- 作为回调函数
def test(callback):
print('1')
callback()
print('3')
test(lambda:print('2'))
打印结果:
1
2
3
结论:lambda表达式可以作为函数的参数,并在该函数中执行
- 与map 函数结合
求出数组中成员之和
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(lambda x:x * x,arr)))
- 与fifter函数结合
求出数组中的奇数
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(filter(lambda x:x % 2 == 1,arr)))
网友评论