一、reduce函數 本函數釋義: (1)原意是歸併,縮減 (2)把一個可迭代的對象最後歸併成一個結果 (3)對於作為參數的函數要求:必須由兩個參數,必須返回一個結果 釋義:我們遞歸的對列表進行加和,1+2=3,3+3=6,6+4=10,10+5=15,15+6=21,通過定義一個規則(也就是這裡面 ...
一、reduce函數
本函數釋義:
(1)原意是歸併,縮減
(2)把一個可迭代的對象最後歸併成一個結果
(3)對於作為參數的函數要求:必須由兩個參數,必須返回一個結果
import functools #定義一個操作函數,加入操作函數只是相加 def myAdd(x,y): return x + y #對於列表執行myAdd的操作 num1 = functools.reduce(myAdd,[1,2,3,4,5,6]) print(num1)
釋義:我們遞歸的對列表進行加和,1+2=3,3+3=6,6+4=10,10+5=15,15+6=21,通過定義一個規則(也就是這裡面的函數),我們有兩個輸入,一個輸出,然後進行遞歸操作。
二、filter函數
1.過濾函數:對一組數據進行過濾,符合條件的數據會生成一個新的列表並返回
2.與map函數相比
(1)相同點:都對列表的每一個與納蘇進行逐一的操作
(2)不同點:map會生成一個跟元數據相對應的新隊列;filter函數不一定,只要符合條件的才會進入新的數據集合
3.filter函數怎麼寫
(1)利用給定的函數進行判斷
(2)返回值一定是布爾值
(3)調用格式:filter(f,data),f是過濾函數,data是數據
def isEven(a): return a % 2 ==0 list1 = [555,44,5,52652,56,523,6,626,656] #利用這個函數我們把列表中的偶數都給挑選出來了 rst1 = filter(isEven,list1) print(type(rst1)) print(rst1) print(list(rst1))
還是前天的味道,filter函數返回的是一個filter類,列印出來也不再是一個列表,需要我們轉換成列表,其中0x000...代表的是一個運行線程。
三、源碼:
d19_3_reduce&fliter_function
地址:https://github.com/ruigege66/Python_learning/blob/master/d19_3_reduce%26fliter_function
2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,後臺回覆”禮包“,獲取大數據學習資料。