lambda:匿名函數(shù),讓函數(shù)更簡潔,有時(shí)候妙用無窮;
使用方法:lambda 后面直接跟變量,變臉后面是冒號(hào),冒號(hào)后面是表達(dá)式,表達(dá)式的計(jì)算結(jié)果就是本函數(shù)的返回值
注意:雖然 lambda 函數(shù)可以接收任意多的參數(shù)并且返回單個(gè)表達(dá)式的值,但是 lambda 函數(shù)不能包含命令且包含的表達(dá)式不能超過一個(gè)。如果你需要更多復(fù)雜的東西,你應(yīng)該去定義一個(gè)函數(shù)。
eg:
?filter:過濾器
eg:
numbers =range(-5,5)
print(list(filter(lambda x:x>0,numbers)))
輸出結(jié)果:【1,2,3,4】
和以下代碼等價(jià)????????????????????????
[x for x in numbers if x > 0]
?map:映射,map 是 Python 的一個(gè)內(nèi)置函數(shù),它的基本格式是:map(func, seq)
對于 map 要主要理解以下幾個(gè)點(diǎn)就好了:
1.對可迭代的對象中的每一個(gè)元素,依次使用 fun 的方法(其實(shí)本質(zhì)上就是一個(gè) for 循環(huán))。
2.將所有的結(jié)果返回一個(gè) map 對象,這個(gè)對象是個(gè)迭代器。
eg:文章來源:http://www.zghlxwxcb.cn/news/detail-413656.html
list1 = [1,2,3,4]
list2 = [5,6,7,8]
list3=list(map(lambda x,y: x + y,list1,list2))
print(list3)
輸出結(jié)果:[6, 8, 10, 12]
reduce:函數(shù)作用于序列,reduce 函數(shù)的第一個(gè)參數(shù)是一個(gè)函數(shù),第二個(gè)參數(shù)是序列類型的對象,將函數(shù)按照從左到右的順序作用在序列上。
eg:
from functools import reduce
a=reduce(lambda x,y:x+y,[1,2,3,4,5])
print(a)
輸出結(jié)果:15文章來源地址http://www.zghlxwxcb.cn/news/detail-413656.html
到了這里,關(guān)于python之lambda-filter-map-reduce作用的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!