lambda 函式,又稱為“匿名函式”,是一種在 Python 中快速定義單行函式的方法,與 def 定義函式不同,lambda 函式不需要命名。本文將介紹 lambda函式的基礎語法,以及實際應用範例演示。
lambda 函式,也稱為匿名函式,是 Python 中一種簡潔的函式定義方式。其基本語法如下:
lambda arguments: expression
這裡,lambda
是聲明 lambda 函式的關鍵字。arguments
是傳遞給函式的參數,expression
是根據這些參數計算得到的表達式。
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
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]
lambda 函式也可以包含條件語句
max_number = lambda x, y: x if x > y else y
print(max_number(5, 7)) # 輸出: 7
map()
函式可以與 lambda 函式結合,對列表的每個元素進行操作。
numbers = [1, 2, 3, 4, 5]
doubled = map(lambda x: x * 2, numbers)
print(list(doubled)) # 輸出: [2, 4, 6, 8, 10]
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()
函式可以用 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) # 按成績升序排序
😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊