# Python如何使用lambda函數
## 什么是lambda函數
lambda函數是Python中的一種匿名函數(沒有名稱的函數),使用`lambda`關鍵字定義。它的基本語法為:
```python
lambda 參數: 表達式
lambda函數通常用于簡化代碼,適合處理簡單的邏輯,可以替代一些只用一次的簡單函數。
lambda
定義# 普通函數
def square(x):
return x ** 2
# lambda等效寫法
square = lambda x: x ** 2
print(square(5)) # 輸出25
numbers = [1, 2, 3, 4, 5]
# 使用map()和lambda
squared = list(map(lambda x: x**2, numbers))
print(squared) # [1, 4, 9, 16, 25]
# 使用filter()和lambda
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens) # [2, 4]
students = [
{'name': 'Alice', 'score': 90},
{'name': 'Bob', 'score': 85},
{'name': 'Charlie', 'score': 95}
]
# 按分數排序
students.sort(key=lambda x: x['score'])
print(students)
import tkinter as tk
root = tk.Tk()
button = tk.Button(
root,
text="點擊",
command=lambda: print("按鈕被點擊了")
)
button.pack()
root.mainloop()
特性 | lambda函數 | 普通函數 |
---|---|---|
名稱 | 匿名 | 有名稱 |
代碼量 | 簡潔 | 相對復雜 |
可讀性 | 簡單邏輯時更好 | 復雜邏輯時更好 |
調試 | 困難 | 容易 |
復用性 | 一次性使用 | 可重復使用 |
lambda函數是Python中一個強大的工具,特別適合與map()
、filter()
、sorted()
等高階函數配合使用。它能讓代碼更簡潔,但要注意適度使用,避免影響代碼可讀性。對于簡單、一次性的操作,lambda是很好的選擇;對于復雜邏輯,還是應該使用常規函數。
“`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。