您好,登錄后才能下訂單哦!
這篇文章主要介紹“python中filter,map,reduce的作用是什么”,在日常操作中,相信很多人在python中filter,map,reduce的作用是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python中filter,map,reduce的作用是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
作用:map主要作用是計算一個序列或者多個序列進(jìn)行函數(shù)映射之后的值
語法:map(function,iterable1,iterable2)
說明:function中參數(shù)值可以是一個,也可以是多個;iterable代表function運算中的參數(shù)值,有幾個參數(shù)值就傳入幾個iterable
注意:1.迭代器需要進(jìn)行列表轉(zhuǎn)換 2.map中如果傳入的序列長度不一,會依據(jù)最短的序列計算
x=[1,2,3,4] y=[5,6,7,8] print(list(map(lambda x,y:(x+y),x,y)))
輸出結(jié)果:
[6, 8, 10, 12]
def m_num(x,y): return x+y print(list(map(m_num,x,y)))
輸出結(jié)果:
[6, 8, 10, 12]
思路:
把列表1中的元素與列表2中元素依次相加
1+5
2+6
3+7
4+8
作用:filter主要作用是過濾掉序列中不符合函數(shù)條件的元素
語法:fliter(function,sequence)
說明:function可以是匿名函數(shù)或者自定義函數(shù),可以對后面的sequence序列的每個元素判定是否符合條件;sequence可以是列表、元組或者字符串
num = [2,3,6,9,90,23,88] #輸出的是filter對象 <filter object at 0x00000113BF8C7390> print(filter(lambda x:x>10,num)) #需要轉(zhuǎn)成list [90, 23, 88] print(list(filter(lambda x:x>10,num)))
輸出結(jié)果:
<filter object at 0x00000113BF8C7390>
[90, 23, 88]
注意:迭代器需要進(jìn)行列表轉(zhuǎn)換
def fil_num(x): return x>10 print(list(filter(fil_num,num)))
思路:
把列表中不需要的元素去掉,那首先要確定要過濾得條件是什么
作用:reduce是對一個序列進(jìn)行計算,結(jié)果只得到一個值
語法:reduce(function,iterable)
說明:function中必須傳入兩個參數(shù),iterable可以是列表或者元組
注意:reduce使用前需要導(dǎo)包 from functools import reduce
from functools import reduce x=[1,2,3,4,5] print(reduce(lambda x,y:(x*y),x))
from functools import reduce x=[1,2,3,4,5] def ca(x,y): return x*y print(reduce(ca,x))
思路:
對一個列表里的元素做計算,從左到右依次計算兩個元素,將得到得值跟下一個元素計算
12 = 2
23 = 6
64 = 24
245 = 120
到此,關(guān)于“python中filter,map,reduce的作用是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。