python中filter,map,reduce的作用
一、map函數
作用:map主要作用是計算一個序列或者多個序列進行函數映射之后的值
語法:map(function,iterable1,iterable2)
說明:function中參數值可以是一個,也可以是多個;iterable代表function運算中的參數值,有幾個參數值就傳入幾個iterable
注意:1.迭代器需要進行列表轉換 2.map中如果傳入的序列長度不一,會依據最短的序列計算
1. lambda函數
x=[1,2,3,4] y=[5,6,7,8] print(list(map(lambda x,y:(x+y),x,y)))
輸出結果:
[6, 8, 10, 12]
2. 自定義函數
def m_num(x,y): ? ?return ?x+y print(list(map(m_num,x,y)))
輸出結果:
[6, 8, 10, 12]
思路:
把列表1中的元素與列表2中元素依次相加
1+5
2+6
3+7
4+8
二、filter函數
作用:filter主要作用是過濾掉序列中不符合函數條件的元素
語法:fliter(function,sequence)
說明:function可以是匿名函數或者自定義函數,可以對后面的sequence序列的每個元素判定是否符合條件;sequence可以是列表、元組或者字符串
1. lambda函數
num = [2,3,6,9,90,23,88] #輸出的是filter對象 <filter object at 0x00000113BF8C7390> print(filter(lambda x:x>10,num)) #需要轉成list [90, 23, 88] print(list(filter(lambda x:x>10,num)))
輸出結果:
<filter object at 0x00000113BF8C7390>
[90, 23, 88]
注意:迭代器需要進行列表轉換
2. 自定義函數
def fil_num(x): ? ?return x>10 print(list(filter(fil_num,num)))
思路:
把列表中不需要的元素去掉,那首先要確定要過濾得條件是什么
三、reduce函數
作用:reduce是對一個序列進行計算,結果只得到一個值
語法:reduce(function,iterable)
說明:function中必須傳入兩個參數,iterable可以是列表或者元組
注意:reduce使用前需要導包 from functools import reduce
1. lambda函數
from functools import reduce x=[1,2,3,4,5] print(reduce(lambda x,y:(x*y),x))
2. 自定義函數
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
到此這篇關于python中filter,map,reduce的作用的文章就介紹到這了,更多相關python map reduce內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python網絡編程使用select實現(xiàn)socket全雙工異步通信功能示例
這篇文章主要介紹了Python網絡編程使用select實現(xiàn)socket全雙工異步通信功能,簡單說明了select模塊的功能及socket全雙工異步通信功能的相關實現(xiàn)技巧,需要的朋友可以參考下2018-04-04
mac 上配置Pycharm連接遠程服務器并實現(xiàn)使用遠程服務器Python解釋器的方法
這篇文章主要介紹了mac 上如何配置Pycharm連接遠程服務器并實現(xiàn)使用遠程服務器Python解釋器,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
Python傳統(tǒng)圖像處理之皮膚區(qū)域檢測詳解
這篇文章主要介紹了在不同情景下對傳統(tǒng)圖像進行皮膚區(qū)域檢測,文章中的代碼具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起來學習學習2021-12-12

