「Lambda function」又稱「匿名函式」,不需要定義名稱,只有一行運算式,並且會自動回傳結果,能簡化複雜的程式碼。在 Python 中,函式也是物件 (Object),是 function
的實體。如果要定義一個「一般函式」,可以使用關鍵字 def
來定義。而「匿名函式」也是函式的一種,同樣也是 function
的實體,因此在傳入 function
參數的物件中,除了使用「一般韓式」外,也可以使用匿名函式。
語法 : lambda parameter: expression
範例:
這是最基本的範例,使用方法就如同使用關鍵字 def
宣告函式依樣,呼叫並傳入引數。
concat = lambda x, y: x + y
t = concat('a', 'b')
print(t) # ab
只是 Python 希望跟 def
做出區分,不建議使用上方的方法,一般建議 lambda 就是用過即丟,不用賦予這個函式一個變數,可以使用 IIFE (immediately invoked function expression) 語法立即傳入引數並執行函式。
語法:(lambda parameter: expression)(argument)
t = (lambda x, y: x + y)('a', 'b')
print(t) # ab
[Python教學]Python Lambda Function應用技巧分享
[Day20]lambda的三角督...filter(),map(),reduce() - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天