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

Python 中的“lambda”函数是什么?

发布时间:2023-06-21 00:42:02

Python 中的“lambda”函数是一种匿名函数,它可以在需要函数的地方被直接传递。与一般的函数不同,lambda 函数没有名称,并且只能包含一个表达式。这使得它们非常适合于一次性使用的简单函数。

lambda 函数由以下关键字组成:lambda。其基本用法如下:

lambda arguments: expression

其中,arguments是函数参数列表,可以是任何数量的参数,用逗号分隔。expression是该函数的返回值,只能使用一个表达式。

lambda 函数的实现方式类似于函数,但是它可以更加简洁和直接。例如,下面是一个简单的加法函数:

def add(x, y):
    return x + y

可以将其转换为 lambda 函数:

add = lambda x, y: x + y

这里我们使用了相同的参数和表达式,但是没有指定函数名称, lambda 关键字代替了 def,且没有使用 return 语句。

lambda 函数主要用于在需要函数的地方创建一个简单的、一次性的函数,或者在高阶函数中使用函数作为参数。下面是一些使用 lambda 函数的示例:

1. 在 map() 函数中使用 lambda 函数将自然数平方:

squares = list(map(lambda x: x**2, range(10)))

这里我们使用了 lambda 函数将自然数平方,且将其传递给了 map() 函数,返回一个列表。

2. 在 filter() 函数中使用 lambda 函数过滤偶数:

evens = list(filter(lambda x: x % 2 == 0, range(10)))

这里我们使用了 lambda 函数过滤偶数,且将其传递给了 filter() 函数,返回一个列表。

3. 在 sorted() 函数中使用 lambda 函数按字母排序:

words = ['apple', 'banana', 'cherry', 'date']
sorted_words = sorted(words, key=lambda x: x[0])

这里我们使用了 lambda 函数将每个单词的 个字母作为关键字,且将其传递给了 sorted() 函数,返回一个按字母排序的列表。

除了上面的用例之外, lambda 函数还可以与 reduce()、zip()、max()、min() 和 sorted() 等 Python 函数一起使用。它们都需要一个函数作为参数,并且有时候 lambda 函数可以让代码更简洁和易读。

总结而言, lambda 函数是一种创建简单函数的方法,它可以在需要函数的地方被直接传递。它没有名称,并且只能包含一个表达式。在高阶函数中使用 lambda 函数作为参数可以让代码更加简洁和易读。