English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 글에서는 익명 함수라고도 하는 lambda 함수를 배울 것입니다. 예제를 통해 그들은 무엇인지, 문법, 그리고 사용법을 이해할 수 있습니다.
Python에서 익명 함수는 이름이 지정되지 않은 함수입니다.함수.
Python에서는 def 키워드가 일반 함수를 정의하는 데 사용되지만, 익명 함수 lambda를 정의하는 데 사용됩니다.
따라서, 익명 함수는 또한 lambda 함수라고도 합니다.
python의 lambda 함수는 다음과 같은 문법을 가집니다.
lambda arguments: expression
Lambda 함수는 어떤 수의 매개변수를 가질 수 있지만, 하나의 표현식만을 가질 수 있습니다. 표현식은 평가되고 반환됩니다. Lambda 함수는 함수 객체가 필요한 모든 곳에서 사용할 수 있습니다.
这是一个使输入值翻倍的lambda函数示例。
# 程序展示lambda函数的使用 double = lambda x: x * 2 print(double(5))
출력 결과
10
在上面的程序中,lambda x: x * 2是lambda函数。这里x是参数,x * 2是求值和返回的表达式。
这个函数没有名字。它返回一个函数对象,该对象被分配给标识符double。我们现在可以把它叫做普通函数。下面声明
double = lambda x: x * 2
等同于:
def double(x): return x * 2
当我们临时需要匿名函数时,我们使用lambda函数。
在Python中,我们通常将其用作高阶函数的参数(该函数将其他函数作为arguments)。Lambda函数可以与filter(),map()等内置函数一起使用。
在Python函数中filter()接受一个函数和一个列表作为参数。
使用列表中的所有项调用该函数,并返回一个新列表,其中包含函数计算结果为True的项。
这是使用filter()函数从列表中仅滤除偶数的示例。
# 程序从列表中过滤出偶数项 my_list = [1, 5, 4, 6, 8, 11, 3, 12] new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)
출력 결과
[4, 6, 8, 12]
在Python中的map()函数接受一个函数和一个列表。
리스트의 모든 항목을 함수에 호출하고, 각 항목에 대해 함수가 반환한 항목을 포함하는 새로운 리스트를 반환합니다.
이는 map() 함수를 사용하여 리스트의 모든 항목을 두 배로 만드는 예제입니다.
# 리스트의 각 항목을 두 배로 만드는 map() 사용 my_list = [1, 5, 4, 6, 8, 11, 3, 12] new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)
출력 결과
[2, 10, 8, 12, 16, 22, 6, 24]