Lambda函数在Python中主要用于创建匿名函数,也就是没有名称的函数。
它们主要用于短小的、临时需要的函数,而无需使用def
关键字创建一个正式的函数。
lambda函数的语法结构为:
lambda arguments:expression
其中,arguments表示传入的参数,expression则是表达式。
lambda函数可以有多个参数,多个参数之间用逗号分隔,如下:
lambda x,y:x+y
使用场景:
1,将lambda函数赋值给一个变量,然后通过变量名来调用这个匿名函数。
f=lambda x:x*2
print(f((1,2)))#(1, 2, 1, 2)
print(f(2))#4
2,lambda可以作为自定义函数的参数
def apply(func,n):
return func(n)
print(apply(lambda x:x*2,3))#6
3,lambda 可以结合其他函数使用。
比如排序sort()、过滤filter()、map()、reduce()
list_of_tuples = [(1, 2), (3, 1), (2, 3)]
list_of_tuples.sort(key=lambda x: x[1])
print(list_of_tuples)#[(3, 1), (1, 2), (2, 3)]
对两个列表中的对应元素求和。
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6]
sums = map(lambda x, y: x + y, numbers1, numbers2)
print(list(sums)) # 输出:[5, 7, 9]
4,为了代码的简洁性。
5,在事件驱动的编程环境中,例如GUI或网络编程,我们可能需要快速定义一些小的处理函数。在这种情况下,lambda函数非常有用。
6,作为回调函数。
7,立刻回调
(lambda x,y:x+y)(2,3)#5