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

Lambda表达式:快速创建Python匿名函数

发布时间:2023-06-07 05:57:31

Lambda表达式是Python中一种快速创建匿名函数的方法。匿名函数是一种没有名称的函数,通常用于简化代码。与常规函数不同的是,匿名函数只能被调用一次,并且没有函数名称和函数文档。Lambda表达式可以在需要时创建简单的、一次性的函数。

Lambda表达式的基本语法如下:

lambda argument_list: expression

其中,argument_list是逗号分隔的参数列表,expression是函数体。Lambda表达式只有一行代码,因此不需要使用return语句。

下面是一个简单的例子:

(lambda x: x*2)(3)

这个表达式代表一个匿名函数,它的参数为x,函数体为x*2,然后将3传递给该函数。

Lambda表达式的一个常见用途是作为函数的参数。例如,可以使用lambda表达式定义一个键函数,根据字典中某个键的值进行排序。

例如,对字典列表进行排序,按字典的value值从大到小排序。

d = {'a': 10, 'b': 20, 'c': 5, 'd': 40}

sorted_d = sorted(d.items(), key=lambda x: x[1], reverse=True)

print(sorted_d)

输出结果:

[('d', 40), ('b', 20), ('a', 10), ('c', 5)]

在这个例子中,使用lambda表达式,针对每个字典项使用x[1]作为排序关键字。

Lambda表达式的另一个用途是作为过滤器。过滤器是一种在集合中选择特定项的方式,使得只返回满足特定条件的项。

例如,可以使用lambda表达式过滤一个列表,只返回长度大于3的字符串。

strings = ['a', 'as', 'bat', 'car', 'dove', 'python']

filtered_strings = filter(lambda x: len(x) > 3, strings)

print(list(filtered_strings))

输出结果:

['dove', 'python']

在这个例子中,使用lambda表达式作为过滤函数,比如只选择长度大于3的字符串。

Lambda表达式在 Python 中被广泛使用。 它们特别适合于简单且具有单一目的的功能,这使得他们成为编写高效 Python 代码的重要组成部分。