匿名函數是指沒有函數名稱的函數。而Python中的lambda保留字可以用來定義一個匿名函數。
Python中的lambda可以用于需要函數對象的地方,可以幫助我們快捷的完成一定的運算。在lambda函數中可以傳入多個參數,但只允許有一個表達式,該表達式被計算后并返回結果。
[fun_obj =] lambda [parameter_list] : expression
位于[ ]中的內容是可選的。
下面這個例子用于計算一個數的平方數。
f = lambda x: x*x
s1 = f(2)
print("s1=",s1)
print("f(3)=",f(3))
輸出結果如下:
s1= 4
f(3)= 9
實際上,上面這個程序中的lambda匿名函數相當于下面的程序:
def f(x):
return x*x
過程計算不復雜;
函數只有一個表達式;
臨時重復性的任務;
函數的作用域只限于當前模塊或文件;
用于map(),filter()及reduce()函數的參數。
map()函數使用一個函數和可迭代對象作為參數,并對可迭代對象的每個元素調用指定的函數來更新迭代序列。
lst = [1, 2, 3, 4, 5]
res_lst = map(lambda x : x *x, lst)
for e in res_lst:
print(e, end=" ")
輸出結果:
1 4 9 16 25
以上講解了Python中lambda匿名函數的語法及使用情況。lambda匿名函數在作為其它函數的參數時使用起來非常方便,在一次性使用場景中非常有用。
新聞熱點
疑難解答