Python中的Lambda函数介绍及使用方法
Python中的Lambda函数也叫做匿名函数,是一种不需要定义函数名的特殊函数。Lambda函数可以接收任意多个参数,但只能返回一个表达式的值,此表达式会成为Lambda函数的返回值。
Lambda函数最常用于一次性使用的匿名函数,也常用于高阶函数中作为参数传递,例如map、filter和reduce等函数。
Lambda函数的语法格式如下:
lambda arguments: expression
其中,arguments表示Lambda函数的参数列表,可以包含0个或多个参数;expression是一个表达式,表示Lambda函数的计算过程,只能返回一个值。
下面是Lambda函数的一些使用方法:
1.在map()中使用Lambda函数
map()函数可以对可迭代序列中的每个元素都执行相同的操作,生成一个新的可迭代序列。Lambda函数可以作为map()函数的 个参数,对所有元素执行相同的操作。
lst = [1, 2, 3, 4, 5] result = map(lambda x:x**2, lst) print(list(result)) # 输出 [1, 4, 9, 16, 25]
2.在filter()中使用Lambda函数
filter()函数可以对可迭代序列中的每个元素都进行判断,保留符合条件的元素,生成一个新的可迭代序列。Lambda函数可以作为filter()函数的 个参数,对所有元素进行判断,符合条件的元素被保留下来。
lst = [1, 2, 3, 4, 5] result = filter(lambda x:x>2, lst) print(list(result)) # 输出 [3, 4, 5]
3.在sorted()中使用Lambda函数
sorted()函数用于对可迭代序列进行排序,Lambda函数可以作为sorted()函数的key函数,对序列中的每个元素进行比较,返回排序的关键字。
lst = ['apple', 'banana', 'watermelon', 'orange'] result = sorted(lst, key=lambda x:len(x)) print(result) # 输出 ['apple', 'orange', 'banana', 'watermelon']
4.在reduce()中使用Lambda函数
reduce()函数可以对可迭代序列中的所有元素进行逐个计算,最终返回一个值。Lambda函数可以作为reduce()函数的 个参数,对序列中的所有元素进行逐个计算。
from functools import reduce lst = [1, 2, 3, 4, 5] result = reduce(lambda x,y:x*y, lst) print(result) # 输出 120
总结:
Lambda函数是Python中一种强大的匿名函数,可以在一次性使用的场合下帮助简化代码,也可在高阶函数中作为参数传递,进一步简化代码。Lambda函数的语法简洁易懂,只需要掌握好使用方法,就可以更加高效地编写Python代码。
