在Python中,匿名函数(也称为lambda函数)是使用lambda
关键字定义的小型匿名函数。它们主要用于需要一个函数作为参数的简单函数式编程场景,如map()
, filter()
, reduce()
等函数。
目录
一、Lambda函数的定义
Lambda函数的定义语法如下:
lambda arguments: expression
arguments:
是函数的参数列表,与正常函数定义类似,但不需要括号。expression:
是一个表达式,它会被计算并返回结果。这个表达式不能包含复杂的语句,如for
循环或if
语句(虽然可以使用三元运算符)。
二、Lambda函数的用途
Lambda函数主要用于简单的、一行的函数定义,它们通常用于:
- 在不需要多次调用的小范围内快速定义函数。
- 作为参数传递给其他函数(如
map()
,filter()
,reduce()
等)。
敲黑板:怎么理解“作为参数传递给其他函数”?看如下示例。
# 定义一个接受一个函数和一个列表作为参数的函数 def apply_function_to_list(func, list_to_apply): """ 将一个给定的函数应用到列表中的每个元素,并返回一个新的列表。 参数: func (callable): 需要应用到列表每个元素的函数。 list_to_apply (list): 需要应用函数的列表。 返回: list: 包含将函数应用到每个元素后结果的新列表。 """ # 使用列表推导式遍历 list_to_apply 中的每一个元素 item # 对每个 item 应用 func 函数,并将结果收集到一个新的列表中 return [func(item) for item in list_to_apply] # 使用 lambda 函数(匿名函数)作为参数 # 这个 lambda 函数接受一个参数 x,并返回 x 的两倍 # 将这个 lambda 函数和列表 [1, 2, 3, 4, 5] 作为参数传递给 # apply_function_to_list 函数 result = apply_fu