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

Python函数——如何定义lambda函数?

发布时间:2023-06-13 23:30:39

Python中的lambda函数又叫做匿名函数。和普通函数不同的是,lambda函数没有函数名,而是用关键字lambda来定义。

lambda函数的语法格式如下:

lambda arguments: expression

其中,arguments表示函数参数,可以是任意数量的参数,用逗号隔开。expression表示函数的返回值表达式。

例如,下面是一个简单的lambda函数,它的参数为x和y,返回值为它们的和:

sum = lambda x, y: x+y
print(sum(2, 3))   # 输出:5

lambda函数的参数可以是默认值参数,也就是在定义时给参数设定默认值。例如:

power = lambda x, n=2: x**n
print(power(3))    # 输出:9
print(power(3, 3)) # 输出:27

在这个例子中,n=2表示给参数n设定了默认值为2。

lambda函数也可以与其他函数一起使用。例如,它可以用在map()函数和filter()函数中。map()函数实现将一个函数作用于一个序列的所有元素,返回一个新的序列;filter()函数实现过滤序列中的元素,返回一个新的序列。

下面是一个使用map()函数和lambda函数将一个序列的每个元素都平方的例子:

seq = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, seq))
print(squared) # 输出:[1, 4, 9, 16, 25]

在这个例子中,lambda函数的参数x表示被平方的数。

下面是一个使用filter()函数和lambda函数过滤一个序列中偶数的例子:

seq = [1, 2, 3, 4, 5]
evens = list(filter(lambda x: x%2==0, seq))
print(evens) # 输出:[2, 4]

在这个例子中,lambda函数的参数x表示序列中的一个元素,它判断x是否为偶数并返回True或False。

需要注意的是,lambda函数的用途不应该仅限于简单的操作。如果函数体非常长,使用lambda函数反而会让代码难以阅读和理解。

总之,lambda函数是Python语言中的一个强大的功能,它使编写代码变得更简洁、更易懂。