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

Python中的lambda函数是怎样定义的?

发布时间:2023-06-21 07:15:28

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函数的使用方法,就可以写出更简洁、高效、易读的程序代码。