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
廣告
© . All rights reserved.