欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python內(nèi)置函數(shù)之filter map reduce介紹

 更新時間:2014年11月30日 21:53:58   投稿:mdxy-dxy  
Python內(nèi)置了一些非常有趣、有用的函數(shù),如:filter、map、reduce,都是對一個集合進行處理,filter很容易理解用于過濾,map用于映射,reduce用于歸并. 是Python列表方法的三架馬車

Python內(nèi)置了一些非常有趣、有用的函數(shù),如:filter、map、reduce,都是對一個集合進行處理,filter很容易理解用于過濾,map用于映射,reduce用于歸并. 是Python列表方法的三架馬車。


1. filter函數(shù)的功能相當于過濾器。調(diào)用一個布爾函數(shù)bool_func來迭代遍歷每個seq中的元素;返回一個使bool_seq返回值為true的元素的序列。

>>> N=range(10)
>>> print filter(lambda x:x>5,N)
[6, 7, 8, 9]

2. map函數(shù)func作用于給定序列的每個元素,并用一個列表來提供返回值。

>>> N1=[1,2,3]
>>> N2=[6,5,4]
>>> map(lambda x,y:x+y,N1,N2)
[7, 7, 7]
>>> map(lambda x:x+3,N1)
[4, 5, 6]

3. reduce函數(shù),func為二元函數(shù),將func作用于seq序列的元素,每次攜帶一對(先前的結(jié)果以及下一個序列的元素),連續(xù)的將現(xiàn)有的結(jié)果和下一個值作用在獲得的隨后的結(jié)果上,最后減少我們的序列為一個單一的返回值。

>>> N=range(1,101)
>>> reduce(lambda x,y:x+y,N)
5050

例1:用map和reduce實現(xiàn)5的階乘相加(5!+4!+3!+2!+1!)

>>>print reduce(lambda x,y:x*y,range(1,6))
>>>print reduce(lambda x,y:x*y,range(1,5))
>>>print reduce(lambda x,y:x*y,range(1,4))
>>>print reduce(lambda x,y:x*y,range(1,3))
>>>print reduce(lambda x,y:x*y,range(1,2))
'''

結(jié)果為

120
24
6
2
1
'''

#把上一步的結(jié)果變成一個階乘列表

>>>print map(lambda a:reduce(lambda x,y:x*y,range(1,a+1)),range(1,6))
[1, 2, 6, 24, 120]

#最后把階乘列表相加,第一題解決

>>>print reduce(lambda m,n:m+n,map(lambda a:reduce(lambda x,y:x*y,range(1,a+1)),range(1,6)))
153

例2:用filter將100~200以內(nèi)的質(zhì)數(shù)過濾出來
質(zhì)數(shù)又稱素數(shù)。指在一個大于1的自然數(shù)中,除了1和此整數(shù)自身外,不能被其他自然數(shù)整除的數(shù)

>>>filter(lambda N:len(filter(lambda M:N%M==0,range(2,int(N**0.5)+1)))==0,range(100,201))

相關文章

  • 詳解Python GUI編程之PyQt5入門到實戰(zhàn)

    詳解Python GUI編程之PyQt5入門到實戰(zhàn)

    這篇文章主要介紹了詳解Python GUI編程之PyQt5入門到實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python使用SocketServer模塊編寫基本服務器程序的教程

    Python使用SocketServer模塊編寫基本服務器程序的教程

    SocketServer模塊中集成了實現(xiàn)socket通信服務器功能所需的各種類和方法,這里我們就來看一下Python使用SocketServer模塊編寫基本服務器程序的教程:
    2016-07-07
  • 利用Python操作MongoDB數(shù)據(jù)庫的詳細指南

    利用Python操作MongoDB數(shù)據(jù)庫的詳細指南

    MongoDB是由C++語言編寫的非關系型數(shù)據(jù)庫,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng),其內(nèi)容存儲形式類似JSON對象,下面這篇文章主要給大家介紹了關于利用Python操作MongoDB數(shù)據(jù)庫的相關資料,需要的朋友可以參考下
    2023-02-02
  • python實現(xiàn)抖音點贊功能

    python實現(xiàn)抖音點贊功能

    這篇文章主要為大家詳細介紹了python實現(xiàn)抖音點贊功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 關于Python使用turtle庫畫任意圖的問題

    關于Python使用turtle庫畫任意圖的問題

    這篇文章主要介紹了Python turtle庫畫任意圖,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • python實現(xiàn)拓撲排序的基本教程

    python實現(xiàn)拓撲排序的基本教程

    拓撲排序是對有向無環(huán)圖的一種排序,發(fā)現(xiàn)自己并沒有真的理解拓撲排序,再次學習了下,所以下面這篇文章主要給大家介紹了關于python實現(xiàn)拓撲排序的基本教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下,
    2018-03-03
  • Python編程實現(xiàn)線性回歸和批量梯度下降法代碼實例

    Python編程實現(xiàn)線性回歸和批量梯度下降法代碼實例

    這篇文章主要介紹了Python編程實現(xiàn)線性回歸和批量梯度下降法代碼實例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python+OpenCV目標跟蹤實現(xiàn)基本的運動檢測

    Python+OpenCV目標跟蹤實現(xiàn)基本的運動檢測

    這篇文章主要為大家詳細介紹了Python+OpenCV目標跟蹤實現(xiàn)基本的運動檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python簡單網(wǎng)絡編程示例【客戶端與服務端】

    Python簡單網(wǎng)絡編程示例【客戶端與服務端】

    這篇文章主要介紹了Python簡單網(wǎng)絡編程,詳細介紹了客戶端與服務端的具體實現(xiàn)技巧與相關注意事項,需要的朋友可以參考下
    2017-05-05
  • python dataframe如何選擇某一列非空的行

    python dataframe如何選擇某一列非空的行

    這篇文章主要介紹了python dataframe如何選擇某一列非空的行問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論