2024-01-10|閱讀時間 ‧ 約 24 分鐘

Python 程式札記 : Lambda 匿名函式

lambda 函式,又稱為“匿名函式”,是一種在 Python 中快速定義單行函式的方法,與 def 定義函式不同,lambda 函式不需要命名。本文將介紹 lambda函式的基礎語法,以及實際應用範例演示。

lambda 函式基礎語法

lambda 函式,也稱為匿名函式,是 Python 中一種簡潔的函式定義方式。其基本語法如下:

lambda arguments: expression

這裡,lambda是聲明 lambda 函式的關鍵字。arguments是傳遞給函式的參數,expression是根據這些參數計算得到的表達式。

為什麼使用 lambda 函式?

lambda 函式最大的特點是簡潔,在需要一個簡單函式,而又不想正式定義一個函式時,lambda 函式就顯得非常有用。

lambda 函式實際應用範例

這裡用一個簡單的範例來了解 lambda 函式的工作原理:

double = lambda x: x * 2
print(double(5)) # 輸出: 10

在這個範例中,我們定義了一個 lambda 函式來將輸入的數字乘以2,然後調用它並打印結果。

使用多個參數

lambda 函式可以接受多個參數。

add = lambda x, y: x + y
print(add(5, 3)) # 輸出: 8

使用 for 迴圈

lambda 函式可以在 for 迴圈中使用。

numbers = [1, 2, 3, 4, 5]
squared_numbers = [(lambda x: x**2)(x) for x in numbers]
print(squared_numbers) # 輸出: [1, 4, 9, 16, 25]

使用 if 條件

lambda 函式也可以包含條件語句

max_number = lambda x, y: x if x > y else y
print(max_number(5, 7)) # 輸出: 7

使用 map() 函式

map()函式可以與 lambda 函式結合,對列表的每個元素進行操作。

numbers = [1, 2, 3, 4, 5]
doubled = map(lambda x: x * 2, numbers)
print(list(doubled)) # 輸出: [2, 4, 6, 8, 10]

使用 filter() 函式

filter()函式通過 lambda 函式來篩選列表。

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers)) # 輸出: [2, 4, 6]

使用 sorted() 函式

sorted()函式可以用 lambda 函式作為排序的依據。

students = [
{'name': 'John', 'grade': 90},
{'name': 'Jane', 'grade': 88},
{'name': 'Dave', 'grade': 92},
]
sorted_students = sorted(students, key=lambda student: student['grade'])
print(sorted_students) # 按成績升序排序

😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊

❤️按個愛心|💬留言互動|🔗分享此文|📌追蹤阿梧|☕請喝咖啡

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.