目錄
- 一、前言
- 二、map()
- 三、filter()
- 四、reduce()
一、前言
我想介紹這些功能的主要原因是它們可以幫助您避免編寫循環(huán)。在某些情況下,循環(huán)運行可能會很昂貴,除此之外,這些功能將有助于提高速度。
以下是本文將涵蓋的功能:
即使你之前已經(jīng)掌握了這些功能,用更多的理論和例子來強化你的知識也沒有害處。
所以不用多說,讓我們開始吧!
二、map()
map()函數(shù)接受另一個函數(shù)作為形參,以及某種數(shù)組。其思想是將一個函數(shù)(作為參數(shù)傳入的函數(shù))應用到數(shù)組中的每一項。
這很有用,有兩個原因:
1.你不必寫循環(huán)
2.它比循環(huán)快
讓我們看看它的實際應用。我將聲明一個名為num_func()的函數(shù),它接受一個數(shù)字作為參數(shù)。這個數(shù)的平方除以2,然后返回。注意,操作是任意選擇的,你可以在函數(shù)內部做任何你想做的事情:
現(xiàn)在讓我們聲明一個數(shù)字數(shù)組,我們想對其應用num_func()。注意map()本身會返回一個map對象,所以你需要將它轉換為一個列表:
看起來這個過程很成功。這里沒有什么開創(chuàng)性的東西,但是盡可能避免循環(huán)是一件好事。
三、filter()
下面是另一個不錯的函數(shù),它可以節(jié)省您的時間——無論是編寫還是執(zhí)行。顧名思義,這個想法是將只滿足特定條件的項保存在數(shù)組中。
就像map()一樣,我們可以事先聲明函數(shù),然后將它與可迭代對象列表一起傳遞給filter()。
讓我們看看它的實際應用。我已經(jīng)聲明了一個名為more_than_15()的函數(shù),顧名思義,如果作為形參的項大于15,該函數(shù)將返回True:
接下來,我們聲明一個數(shù)字數(shù)組,并將它們作為第二個參數(shù)傳遞到filter()函數(shù)中:
正如你所料,只有三個值滿足給定的條件。再一次,這里沒有什么開創(chuàng)性的東西,但看起來比循環(huán)好多了。
四、reduce()
現(xiàn)在reduce()與前兩個稍有不同。首先,我們必須從functools模塊中導入它。其主要思想是將給定函數(shù)應用于項數(shù)組,并返回單個值作為結果。
最后一部分至關重要——reduce()不會返回項的數(shù)組,它總是返回單個值。讓我們看一個圖表來具體說明這個概念。
5加10,結果是1515加12,結果是2727加18,結果是4545加25,結果是70
70是返回的值。首先從代碼實現(xiàn)開始,讓我們從functools模塊導入reduce函數(shù),并聲明一個函數(shù)返回兩個數(shù)字的和:
現(xiàn)在,我們可以重新訪問代碼,并驗證一切正常運行:
我希望你能在日常生活中利用這三個功能。速度的提高可能不是很大——這取決于您所處理的數(shù)據(jù)量——但是代碼通常會因為更少的循環(huán)而看起來更好!
到此這篇關于這三個好用的python函數(shù)你不能不知道!的文章就介紹到這了,更多相關Python函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python函數(shù)不定長參數(shù)使用方法解析
- Python函數(shù)中不定長參數(shù)的寫法
- python析構函數(shù)用法及注意事項
- Python中函數(shù)的定義及其調用
- Python函數(shù)中的不定長參數(shù)相關知識總結