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语言中的一个强大的功能,它使编写代码变得更简洁、更易懂。
