在Python中,lambda函數是一種匿名函數,可以在一行代碼中定義函數,常用于簡化代碼。
使用lambda函數的語法如下:
lambda arguments: expression
其中,arguments是函數的參數,可以有多個參數,用逗號分隔;expression是函數的返回值。
以下是一些使用lambda函數的示例:
add = lambda x, y: x + y
result = add(3, 5) # 結果為8
students = [('Alice', 20), ('Bob', 18), ('Charlie', 22)]
students.sort(key=lambda student: student[1]) # 按年齡排序
print(students) # 輸出:[('Bob', 18), ('Alice', 20), ('Charlie', 22)]
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers)) # 對列表中的每個數求平方
even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) # 過濾出列表中的偶數
print(squared) # 輸出:[1, 4, 9, 16, 25]
print(even_numbers) # 輸出:[2, 4]
雖然lambda函數有其方便的地方,但也有一些限制,例如不能包含復雜的邏輯、循環、異常處理等。因此,lambda函數適合用于簡單的函數定義,對于復雜的函數,建議使用普通的函數定義方式。