Python lambda 关键字



Python 的lambda关键字用于创建lambda函数,它类似于用户定义函数,但没有函数名。它是一个区分大小写的关键字。创建lambda函数不需要defreturn关键字。

lambda函数可以接受n个参数。这些函数有效地创建仅包含简单表达式的函数,通常只有一行语句。

语法

以下是 Python lambda关键字的语法:

lambda arguments :expression

示例

以下是 Python lambda关键字的基本示例:

power = lambda a : a**2
result_1 = power(9)
print("The result of lambda function :",result_1)

输出

以下是上述代码的输出:

The result of lambda function : 81

使用 'lambda' 关键字和多个参数

lambda函数可以接受多个参数。

示例

这里,我们创建了一个接受两个参数的lambda函数。在这个函数中,我们执行了除法运算:

div = lambda a,b : a//b
result_1 = div(8,2)
result_2 = div(7,9)
print("The result of lambda function :",result_1)
print("The result of lambda function :",result_2)

输出

以下是上述代码的输出:

The result of lambda function : 4
The result of lambda function : 0

lambda 函数和 def 函数的区别

lambda函数和def函数的执行方式相似,但唯一的区别是lambda函数不需要defreturn关键字,它仅用于简单的表达式和匿名(未命名)函数。

示例

这里,我们定义了具有相同功能的lambdadef函数,它们返回给定数字的平方根。这两个函数返回相同的值:

#defined function
def sqrt(num):
    return num**0.5    
n = 81
#defined lambda function
sqrt1 = lambda a : a**0.5
result_1 = sqrt(n)
result_2 = sqrt1(n)
print("The result of a  def function :",result_1)
print("The result of a lambda function :",result_2)

输出

以下是上述代码的输出:

The result of a  def function : 9.0
The result of a lambda function : 9.0

将 lambda 与 filter() 函数一起使用

在 Python 中,lambda可以与filter()函数一起使用。filter()函数接受一个 lambda 函数和一个可迭代对象(元组、列表)。

示例

这是一个lambdafilter()一起使用的示例:

list1 = [140, 27, 58, 89, 94, 100]      
even_list = list(filter( lambda num: (num % 2 == 0) , list1 ))      
print('The list of even number is:',even_list)

输出

以下是上述代码的输出:

The list of even number is: [140, 58, 94, 100] 

使用 'lambda' 与 map()

一个lambda函数和一个可迭代对象传递到map()中。该函数将对列表中的所有元素执行,并生成一个新的列表,其中包含对每个项目使用给定函数生成的元素。

示例

以下是用lambda函数和map()的示例:

numbers_list = (2, 3, 4, 5, 6, 7)      
cube_list = tuple(map( lambda num: num ** 3 , numbers_list ))      
print( 'Cube of each number in the given list:' ,cube_list )

输出

以下是上述代码的输出:

Cube of each number in the given list: (8, 27, 64, 125, 216, 343)
python_keywords.htm
广告