Python連載16-reduce函數&filter函數

1、reduce函數git

本函數釋義:github

(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,經過定義一個規則(也就是這裏面的函數),咱們有兩個輸入,一個輸出,而後進行遞歸操做。大數據

2、filter函數ui

1.過濾函數:對一組數據進行過濾,符合條件的數據會生成一個新的列表並返回spa

2.與map函數相比.net

(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...表明的是一個運行線程。

3、源碼:

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.歡迎關注微信公衆號:傅里葉變換,後臺回覆」禮包「,獲取大數據學習資料。

相關文章
相關標籤/搜索