欢迎访问宙启技术站
智能推送

Python中的 lambda 函数是什么,如何使用它们

发布时间:2023-06-16 10:43:59

Python中的lambda函数是一种简洁的函数定义方式,它不需要给函数命名,并且只需要一个表达式作为函数体。lambda函数通常被用作匿名函数,可以在需要简短的函数作为参数传递的地方使用,比如列表排序、筛选过滤等。

使用lambda函数的语法是:

lambda arguments: expression

其中,arguments是函数参数列表,expression是要计算的表达式。

例如,我们可以使用lambda函数对一个列表进行排序:

lst = [5, 2, 9, 1, 3]
lst.sort(key=lambda x: x)
print(lst)

这里我们使用了lambda函数作为sort函数的参数,其中key=lambda x: x表示按照列表中的每个元素进行排序。

除了在排序上使用lambda函数,我们还可以在筛选和过滤列表等场景中使用它。例如,我们可以使用filter函数来筛选一个列表中的偶数:

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_lst = filter(lambda x: x%2==0, lst)
print(list(even_lst))

在这个例子中,我们使用lambda函数lambda x: x%2==0作为filter函数的参数,表示筛选出列表中的偶数。

另外一个常见的用途是在map函数中使用lambda函数来对一个列表中的元素进行变换:

lst = [1, 2, 3, 4, 5]
squared_lst = map(lambda x: x**2, lst)
print(list(squared_lst))

在这个例子中,我们使用lambda函数lambda x: x**2作为map函数的参数,表示对列表中的每个元素求平方。

除了在函数调用时使用lambda函数,我们也可以将lambda函数赋值给变量,并像普通函数一样使用它:

f_square = lambda x: x**2
print(f_square(3)) # 输出 9

lambda函数是Python中常用的语法之一,它能够简化代码,提升开发效率。但需要注意的是,lambda函数不能使用复杂的语句和其他控制结构,它只能包含一个表达式。