python中filter,map,reduce的作用
一、map函數(shù)
作用:map主要作用是計(jì)算一個(gè)序列或者多個(gè)序列進(jìn)行函數(shù)映射之后的值
語(yǔ)法:map(function,iterable1,iterable2)
說(shuō)明:function中參數(shù)值可以是一個(gè),也可以是多個(gè);iterable代表function運(yùn)算中的參數(shù)值,有幾個(gè)參數(shù)值就傳入幾個(gè)iterable
注意:1.迭代器需要進(jìn)行列表轉(zhuǎn)換 2.map中如果傳入的序列長(zhǎng)度不一,會(huì)依據(jù)最短的序列計(jì)算
1. lambda函數(shù)
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]
2. 自定義函數(shù)
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ù)
作用:filter主要作用是過(guò)濾掉序列中不符合函數(shù)條件的元素
語(yǔ)法:fliter(function,sequence)
說(shuō)明:function可以是匿名函數(shù)或者自定義函數(shù),可以對(duì)后面的sequence序列的每個(gè)元素判定是否符合條件;sequence可以是列表、元組或者字符串
1. lambda函數(shù)
num = [2,3,6,9,90,23,88] #輸出的是filter對(duì)象 <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)換
2. 自定義函數(shù)
def fil_num(x): ? ?return x>10 print(list(filter(fil_num,num)))
思路:
把列表中不需要的元素去掉,那首先要確定要過(guò)濾得條件是什么
三、reduce函數(shù)
作用:reduce是對(duì)一個(gè)序列進(jìn)行計(jì)算,結(jié)果只得到一個(gè)值
語(yǔ)法:reduce(function,iterable)
說(shuō)明:function中必須傳入兩個(gè)參數(shù),iterable可以是列表或者元組
注意:reduce使用前需要導(dǎo)包 from functools import reduce
1. lambda函數(shù)
from functools import reduce x=[1,2,3,4,5] print(reduce(lambda x,y:(x*y),x))
2. 自定義函數(shù)
from functools import reduce x=[1,2,3,4,5] def ca(x,y): ? ? return x*y print(reduce(ca,x))
思路:
對(duì)一個(gè)列表里的元素做計(jì)算,從左到右依次計(jì)算兩個(gè)元素,將得到得值跟下一個(gè)元素計(jì)算
12 = 2
23 = 6
64 = 24
245 = 120
到此這篇關(guān)于python中filter,map,reduce的作用的文章就介紹到這了,更多相關(guān)python map reduce內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)ip地址的包含關(guān)系判斷
這篇文章主要介紹了python實(shí)現(xiàn)ip地址的包含關(guān)系判斷,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02Python網(wǎng)絡(luò)編程使用select實(shí)現(xiàn)socket全雙工異步通信功能示例
這篇文章主要介紹了Python網(wǎng)絡(luò)編程使用select實(shí)現(xiàn)socket全雙工異步通信功能,簡(jiǎn)單說(shuō)明了select模塊的功能及socket全雙工異步通信功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04mac 上配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器的方法
這篇文章主要介紹了mac 上如何配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03python數(shù)字圖像處理環(huán)境安裝與配置過(guò)程示例
這篇文章主要為大家介紹了python數(shù)字圖像處理環(huán)境安裝與配置過(guò)程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python傳統(tǒng)圖像處理之皮膚區(qū)域檢測(cè)詳解
這篇文章主要介紹了在不同情景下對(duì)傳統(tǒng)圖像進(jìn)行皮膚區(qū)域檢測(cè),文章中的代碼具有一定的參考價(jià)值,感興趣的小伙伴可以跟隨小編一起來(lái)學(xué)習(xí)學(xué)習(xí)2021-12-12用python打印1~20的整數(shù)實(shí)例講解
在本篇內(nèi)容中小編給大家分享了關(guān)于python打印1~20的整數(shù)的具體步驟以及實(shí)例方法,需要的朋友們參考下。2019-07-07