一、Lambda表達式簡介
Lambda表達式,又稱匿名函數,是一種特殊的函數。它不需要使用def關鍵字來定義,也不需要寫函數名,只需要一個表達式,就可以創建一個函數。Lambda表達式的語法如下:
lambda 參數: 表達式
其中,lambda表示這是一個Lambda表達式,參數是函數的參數,可以有多個參數,用逗號隔開。表達式是函數體,函數體只能有一條語句。
二、Lambda表達式的應用
Lambda表達式可以和很多Python內置的函數一起使用,比如map()、filter()、reduce()等。這些函數都接受一個函數作為參數,Lambda表達式可以很方便地創建這樣的函數。
三、Lambda表達式和map()函數
map()函數可以將一個函數應用到一個可迭代對象的每個元素上,返回一個新的可迭代對象。Lambda表達式可以很方便地創建這個函數。
# 使用Lambda表達式將列表中的每個元素平方 lst = [1, 2, 3, 4, 5] result = map(lambda x: x ** 2, lst) print(list(result)) # 輸出:[1, 4, 9, 16, 25]
四、Lambda表達式和filter()函數
filter()函數可以接受一個函數和一個可迭代對象作為參數,返回一個新的可迭代對象,其中包含原可迭代對象中使函數返回值為True的元素。Lambda表達式可以很方便地創建這個函數。
# 使用Lambda表達式過濾列表中的偶數 lst = [1, 2, 3, 4, 5] result = filter(lambda x: x % 2 == 0, lst) print(list(result)) # 輸出:[2, 4]
五、Lambda表達式和reduce()函數
reduce()函數可以接受一個函數和一個可迭代對象作為參數,將可迭代對象中的元素按順序應用到函數中。Lambda表達式可以很方便地創建這個函數。
# 使用Lambda表達式計算列表中所有元素的和 from functools import reduce lst = [1, 2, 3, 4, 5] result = reduce(lambda x, y: x + y, lst) print(result) # 輸出:15
六、Lambda表達式的其它應用
Lambda表達式還可以作為函數的參數,可以很方便地用在一些需要函數作為參數的場合。
# 使用Lambda表達式作為sorted()函數的參數,按照元組的第二個元素進行排序 lst = [(1, 3), (2, 1), (3, 5), (4, 2)] result = sorted(lst, key=lambda x: x[1]) print(result) # 輸出:[(2, 1), (4, 2), (1, 3), (3, 5)]
七、總結
使用Lambda表達式可以方便地創建匿名函數,可以和很多Python內置的函數一起使用,是Python中很方便的編程方式之一。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/284603.html