Python中的lambda函数是怎样定义的?
Lambda表达式是一种简化函数定义的方式,它可以在需要函数的任何地方使用,并且可以使用一个表达式定义函数。Python语言的lambda函数没有“def”文件名和“return”语句,它的语法为“lambda [arguments]: expression”。
在lambda函数中,可以定义一个或多个输入参数,这些参数用于在函数内部执行计算,然后返回一个结果。与普通的函数定义方式不同,Lambda函数没有函数名称,而是一种匿名函数,只存在于函数的类型中。以下是一个Lambda函数的示例:
lambda x: x * x
在这个Lambda函数中,x是这个函数的一个参数,函数中的x * x表达式表示将x乘以它自己,然后返回结果。
Python语言中的lambda函数常用于过滤器、映射和归纳等操作,例如:
1.过滤器
filter()函数可以将一个列表中的元素以某种规则筛选出来。 lambda表达式可以作为 filter()函数的 个参数,用于指定筛选规则。例如:
#筛选列表中的偶数
lst = [1,2,3,4,5,6,7,8,9]
new_lst = filter(lambda x: x%2 == 0, lst)
print(list(new_lst)) # [2, 4, 6, 8]
2.映射
map()函数可以将一个列表中的元素以某种规则映射成新的列表。 表达式lambda可以作为map()函数的 个参数,它定义了从原始列表元素到新列表元素的映射方式。例如:
#将一个列表中的元素都平方
lst = [1,2,3,4,5,6,7,8,9]
new_lst = map(lambda x: x**2, lst)
print(list(new_lst)) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
3.归纳
reduce()函数将列表中的元素通过指定的函数累积起来。 表达式lambda可以作为reduce()函数的 个参数,用于指定集合元素的计算方式。例如:
#求列表中的所有元素之和
from functools import reduce
lst = [1,2,3,4,5,6,7,8,9]
result = reduce(lambda x,y: x+y, lst)
print(result) # 45
Lambda函数的用途不仅限于上述这些场景,如果理解并掌握了lambda函数的使用方法,就可以写出更简洁、高效、易读的程序代码。
