如何在Python中使用Lambda函式?


Python Lambda函式的匿名特性表明它們沒有名稱。正如我們所知,標準的Python函式是用`def`關鍵字定義的。類似地,Python使用`lambda`關鍵字宣告匿名函式。

語法

Python中lambda表示式的語法如下:

lambda arguments: expression

此函式只計算並返回一個表示式,無論引數個數多少。

Lambda函式可以用於任何需要函式物件的地方。

必須始終記住,lambda函式在語法上僅限於單個表示式。除了函式中的其他型別的表示式外,它在某些程式設計領域還有多種用途。它們動態返回函式的定義。

Lambda函式不包含`return`語句,它們始終返回一個表示式。你可以在任何需要函式的地方放置lambda定義。假設我們有一個僅使用一次且僅從一個地方呼叫的函式,那麼我們可以使用lambda函式。因此,無需為其命名,你可以在此處定義功能。因此,我們消除了函式的使用並使用了Lambda表示式。

示例1

讓我們來看一下下面的lambda函式示例。

# Python program to demonstrate lambda functions x ="HelloWorld" # lambda gets pass to print (lambda x : print(x))(x)

輸出

獲得以下輸出。

HelloWorld

示例2

讓我們來看一下使用lambda函式新增數字的示例。在下面的示例中,我們將一個整數作為單個引數傳遞給lambda函式,該函式將100新增到給定的數字。

x = lambda a : a + 100 print(x(5))

輸出

獲得以下輸出。

105

示例3

如上例所示,我們給lambda函式輸入單個引數,我們也可以輸入多個引數。讓我們來看一個有多個引數的例子。

x = lambda a, b : a * b print(x(9, 1))

輸出

獲得以下輸出。

9

示例4

讓我們來看一下用於列表推導的lambda函式。

列表用於在單個變數中儲存多個專案。列表是Python中用於儲存資料集合的四種內建資料型別之一;另外三種是元組、集合和字典,每種都有其獨特的用途。當你想根據現有列表的值建立新列表時,列表推導式提供了一種更簡潔的語法。

tables = [lambda x=x: x*10 for x in range(1, 11)] for table in tables: print(table())

輸出

獲得以下輸出。

10
20
30
40
50
60
70
80
90
100

示例5

雖然lambda函式不允許使用多個語句,但我們可以建立兩個lambda函式,然後將其中一個作為引數傳遞給另一個。讓我們使用lambda查詢第二大的元素。

List = [[4,3,4],[9, 4, 16, 64],[3, 6, 9, 12]] #Sorting sublist sortList = lambda x: (sorted(i) for i in x) # Get the second largest element secondLargest = lambda x, f : [y[len(y)-2] for y in f(x)] result = secondLargest(List, sortList) print(result)

輸出

輸出如下。

[4, 16, 9]

更新於:2022年9月16日

2K+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告