Python lambda函式的學習

2022-07-18 04:15:15 字數 1718 閱讀 8870

lambda函式在python 基礎中沒看過,查詢資料目前知道如下的用法

1.用於簡單表示式的計算

lambda 引數:表示式

如:result = lambda x: x**2

print(result(3))

---- 引數也可以有多個

result = lambda x,y:x+y

print(result(3,4))

2.filter函式和 lambda函式,此時lambda函式用於指定過濾列表元素的條件

y = [1,3,4,5,6,7,10,8]

res = filter(lambda x:x%2 ==0, y)

print(list(res))

----是偶數列印出來-----

3.sorted 函式和lambda函式,用於指定對列表中所有元素進行排序

y = [1,3,4,5,6,7,10,8]

res = sorted(y, key=lambda x: abs(5-x))

print(res)

-------倒序排增加關鍵字--------------

res = sorted(y, key=lambda x: abs(5 - x),reverse=true)

4.map 函式和lambda函式,用於指定對列表中每乙個元素的共同操作

y = [1,3,4,5,6,7,10,8,6]

res = map(lambda x:x-1,y)

print(list(res))

5. reduce函式和lambda函式,---對相鄰兩個數按一定要求結合

如:將相鄰兩個數以,複製給變數,該變數為字串

from functools import reduce

res =reduce(lambda a, b: '{},{}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])

print(res)

----結果------

1,2,3,4,5,6,7,8,9

如:將相鄰數累加

from functools import reduce

y = [1, 3, 4, 5, 6, 7, 10, 8]

print(reduce(lambda x,z:x+z,y))

'''過程'''

1+3+4+5+6+7+10+8

#相鄰的數相乘 + 1得出乙個新值再和後面相鄰的數相乘 + 1
from functools import reduce
y = [1, 3, 4, 5, 6]
print(reduce(lambda x,z:x*z+1,y))

'''執行步驟

1 * 3 + 1=4

4* 4 + 1 = 17

17 * 5 + 1 = 86

86 * 6 + 1 = 517

Python lambda函式的用法

匿名函式lambda的用法 python中,lambda函式也叫匿名函式,及即沒有具體名稱的函式,它允許快速定義單行函式,類似於c語言的巨集,可以用在任何需要函式的地方。這區別於def定義的函式。lambda與def的區別 1 def建立的方法是有名稱的,而lambda沒有。2 lambda會返回乙...

python lambda函式基礎

本文,我們學習python lambda函式。首先,看一下python lambda函式的語法,如下 f lambda parameter1,parameter2,expression lambda語句中,冒號前是引數,可以有0個或多個,用逗號隔開,冒號右邊是返回值。lambda語句構建的其實是乙個...

python lambda匿名函式

lambda定義乙個匿名函式 lambda只是乙個表示式,函式體比def簡單很多,很多時候定義def,然後寫乙個函式太麻煩,這時候就可以用lambda定義乙個匿名函式。lambda的主體是乙個表示式,而不是乙個 塊。僅僅能在lambda表示式中封裝有限的邏輯進去。參考鏈結 lambda的特性 乙個語...