在 Python 中,lambda 函数是一种匿名函数,通常用于简单的操作或者作为其他函数的参数。
为什么叫 lambda ?
lambda 表达式的名称来源于数学和计算机科学中的概念,即λ演算(lambda calculus)。
λ演算是一种用来研究函数定义、函数应用和递归的形式系统,它是由数学家 Alonzo Church 在 1930 年代提出的一种理论框架,被认为是函数式编程的基础之一。
在λ演算中,λ符号表示抽象函数的引入,类似于在编程语言中定义匿名函数的概念。
因此,当计算机科学领域开始引入类似的匿名函数概念时,为了向λ演算致敬,选择了“lambda”作为匿名函数的关键字。
在 Python 中,lambda 表达式就是对λ演算中抽象函数的一种实现,它提供了一种简洁的方式来创建匿名函数,用于在需要函数对象的任何地方使用。
因此,lambda 表达式的名称来源于λ演算,是对函数式编程理论的一种实践和应用。在 Python 中也可以用于创建简单的函数对象。因为它是匿名的,所以不需要为函数指定名称,这使得它在某些场景下非常方便。
举个典型的例子
在排序或筛选操作中传递简单的函数逻辑时,lambda 表达式非常有用。比如,分别使用lambda、不使用lambda ,按元组中的第二个元素进行排序
用 lambda
data = [('John', 28), ('Alice', 23), ('Bob', 35), ('Diana', 20)]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)
不用 lambda
def sort_by_second_element(x):
return x[1]
data = [('John', 28), ('Alice', 23), ('Bob', 35), ('Diana', 20)]
sorted_data = sorted(data, key=sort_by_second_element)
print(sorted_data)