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

Python中的匿名函数及其作用

发布时间:2023-06-07 10:24:30

Python中的匿名函数也称为lambda函数,它可以用于定义简短的函数,而不需要给它们命名。

Lambda函数的语法十分简单,它的形式为:

lambda arguments: expression

其中,arguments为函数的形参,expression为函数体,而整个lambda表达式返回的就是一个函数对象。

Lambda函数通常与Python内置的高阶函数一起使用,比如map()、filter()、reduce()等。

举个例子,我们可以使用lambda函数将一个列表中的每个元素都平方:

lst = [1, 2, 3, 4, 5]
squared_lst = list(map(lambda x: x ** 2, lst))
print(squared_lst)

输出结果为:

[1, 4, 9, 16, 25]

Lambda函数还可以用来定义简短的条件表达式,比如计算两个数的较大值:

max = lambda x, y: x if x > y else y
print(max(3, 5))

输出结果为:

5

除此之外,lambda函数还经常用于排序等操作中的key函数。

举个例子,我们可以使用lambda函数按照元组的第二个元素进行排序:

lst = [(1, 2), (3, 1), (4, 0), (2, 2)]
sorted_lst = sorted(lst, key=lambda x: x[1])
print(sorted_lst)

输出结果为:

[(4, 0), (3, 1), (1, 2), (2, 2)]

由于lambda函数没有函数名,所以它不能够被直接调用或重复使用。因此,如果需要定义复杂的函数或想要在多个地方重复使用某个函数,我们 还是使用def语句来进行定义。

总的来说,Lambda函数在Python中有着十分重要的作用。它可以让我们更加方便快捷地定义简短的函数,从而提高代码的可读性和可维护性。