python中filter,map,reduce的作用
一、map函數(shù)
作用:map主要作用是計(jì)算一個(gè)序列或者多個(gè)序列進(jìn)行函數(shù)映射之后的值
語法:map(function,iterable1,iterable2)
說明:function中參數(shù)值可以是一個(gè),也可以是多個(gè);iterable代表function運(yùn)算中的參數(shù)值,有幾個(gè)參數(shù)值就傳入幾個(gè)iterable
注意:1.迭代器需要進(jìn)行列表轉(zhuǎn)換 2.map中如果傳入的序列長度不一,會(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主要作用是過濾掉序列中不符合函數(shù)條件的元素
語法:fliter(function,sequence)
說明: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)))
思路:
把列表中不需要的元素去掉,那首先要確定要過濾得條件是什么
三、reduce函數(shù)
作用:reduce是對(duì)一個(gè)序列進(jìn)行計(jì)算,結(jié)果只得到一個(gè)值
語法:reduce(function,iterable)
說明: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可視化 matplotlib畫圖使用colorbar工具自定義顏色
這篇文章主要介紹了python可視化 matplotlib畫圖使用colorbar工具自定義顏色,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python裝飾器的應(yīng)用場(chǎng)景代碼總結(jié)
這篇文章主要介紹了Python裝飾器的應(yīng)用場(chǎng)景,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
如何解決Selenium包安裝成功卻無法導(dǎo)入的問題
這篇文章主要介紹了如何解決Selenium包安裝成功卻無法導(dǎo)入的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
只需7行Python代碼玩轉(zhuǎn)微信自動(dòng)聊天
今天小編就為大家分享一篇關(guān)于只需7行Python代碼玩轉(zhuǎn)微信自動(dòng)聊天,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01
Pycharm安裝第三方庫、安裝位置以及鏡像設(shè)置方法詳解
對(duì)于Python開發(fā)用戶來講,安裝第三方庫是家常便飯,下面這篇文章主要給大家介紹了關(guān)于Pycharm安裝第三方庫、安裝位置以及鏡像設(shè)置方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
Python實(shí)現(xiàn)定制自動(dòng)化業(yè)務(wù)流量報(bào)表周報(bào)功能【XlsxWriter模塊】
這篇文章主要介紹了Python實(shí)現(xiàn)定制自動(dòng)化業(yè)務(wù)流量報(bào)表周報(bào)功能,結(jié)合實(shí)例形式分析了Python基于XlsxWriter模塊操作xlsx文件生成報(bào)表圖的相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
Python實(shí)現(xiàn)多張圖片合成文字的效果
前段時(shí)間看到有人問如何使用Python實(shí)現(xiàn)多張圖片組成文字的效果?覺得還挺有意思,于是嘗試做了一下,剛好趕上端午節(jié),所以打算從網(wǎng)上下載1000張王心凌的照片,組成端午安康的字樣,感興趣的可以了解一下2022-06-06

