5 lambda匿名函數與Python內置函數
lambda 函數通常用于編寫簡單的、單行的函數,通常在需要函數作為參數傳遞的情況下使用,例如在 map()、filter()、sorted()、list.sort() 等函數與方法中。
lambda語法格式:
lambda arguments: expression
lambda
是 Python 的關鍵字,用于定義 lambda 函數。arguments
是參數列表,可以包含零個或多個參數,但必須在冒號(:
)前指定。expression
是一個表達式,用于計算并返回函數的結果。
5.1 lambda函數用法示例
沒有參數的lambda函數示例:
f = lambda: "Hello, world!"
print(f()) # 輸出: Hello, world!
單個參數的lambda函數示例:
x = lambda a : a + 10
print(x(5)) #輸出:15
5.2 在map()中使用lambda函數
map()的用法:
map(function, iterable)
其中function表示函數,iterable表示可迭代對象,返回值是一個新的迭代器,其表示的可迭代對象中的每個元素都是以iterable中相應元素為function參數的返回值。迭代器需要使用list()來轉換為列表。
示例代碼:
>>> def square(x) : # 計算平方數
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 計算列表各個元素的平方
<map object at 0x100d3d550> # 返回迭代器
>>>