這三個好用的python函數(shù)你不能不知道!
一、前言
我想介紹這些功能的主要原因是它們可以幫助您避免編寫循環(huán)。在某些情況下,循環(huán)運(yùn)行可能會很昂貴,除此之外,這些功能將有助于提高速度。
以下是本文將涵蓋的功能:
- map()
- filter()
- reduce()
即使你之前已經(jīng)掌握了這些功能,用更多的理論和例子來強(qiáng)化你的知識也沒有害處。
所以不用多說,讓我們開始吧!
二、map()
map()函數(shù)接受另一個函數(shù)作為形參,以及某種數(shù)組。其思想是將一個函數(shù)(作為參數(shù)傳入的函數(shù))應(yīng)用到數(shù)組中的每一項。
這很有用,有兩個原因:
1.你不必寫循環(huán)
2.它比循環(huán)快
讓我們看看它的實(shí)際應(yīng)用。我將聲明一個名為num_func()的函數(shù),它接受一個數(shù)字作為參數(shù)。這個數(shù)的平方除以2,然后返回。注意,操作是任意選擇的,你可以在函數(shù)內(nèi)部做任何你想做的事情:

現(xiàn)在讓我們聲明一個數(shù)字?jǐn)?shù)組,我們想對其應(yīng)用num_func()。注意map()本身會返回一個map對象,所以你需要將它轉(zhuǎn)換為一個列表:

看起來這個過程很成功。這里沒有什么開創(chuàng)性的東西,但是盡可能避免循環(huán)是一件好事。
三、filter()
下面是另一個不錯的函數(shù),它可以節(jié)省您的時間——無論是編寫還是執(zhí)行。顧名思義,這個想法是將只滿足特定條件的項保存在數(shù)組中。
就像map()一樣,我們可以事先聲明函數(shù),然后將它與可迭代對象列表一起傳遞給filter()。
讓我們看看它的實(shí)際應(yīng)用。我已經(jīng)聲明了一個名為more_than_15()的函數(shù),顧名思義,如果作為形參的項大于15,該函數(shù)將返回True:

接下來,我們聲明一個數(shù)字?jǐn)?shù)組,并將它們作為第二個參數(shù)傳遞到filter()函數(shù)中:

正如你所料,只有三個值滿足給定的條件。再一次,這里沒有什么開創(chuàng)性的東西,但看起來比循環(huán)好多了。
四、reduce()
現(xiàn)在reduce()與前兩個稍有不同。首先,我們必須從functools模塊中導(dǎo)入它。其主要思想是將給定函數(shù)應(yīng)用于項數(shù)組,并返回單個值作為結(jié)果。
最后一部分至關(guān)重要——reduce()不會返回項的數(shù)組,它總是返回單個值。讓我們看一個圖表來具體說明這個概念。

5加10,結(jié)果是1515加12,結(jié)果是2727加18,結(jié)果是4545加25,結(jié)果是70
70是返回的值。首先從代碼實(shí)現(xiàn)開始,讓我們從functools模塊導(dǎo)入reduce函數(shù),并聲明一個函數(shù)返回兩個數(shù)字的和:

現(xiàn)在,我們可以重新訪問代碼,并驗(yàn)證一切正常運(yùn)行:

我希望你能在日常生活中利用這三個功能。速度的提高可能不是很大——這取決于您所處理的數(shù)據(jù)量——但是代碼通常會因?yàn)楦俚难h(huán)而看起來更好!
到此這篇關(guān)于這三個好用的python函數(shù)你不能不知道!的文章就介紹到這了,更多相關(guān)Python函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python報mongod:?error?while?loading?shared?libraries:?l
這篇文章主要介紹的是Python報mongod:?error?while?loading?shared?libraries:?libcrypto.so.1.1的解決方法,下面文章解決過程,需要的小伙伴可以參考一下2022-02-02
Python實(shí)現(xiàn)xml格式轉(zhuǎn)txt格式的示例代碼
VOC 的標(biāo)注是xml格式的,而YOLO是.txt格式,所以要實(shí)現(xiàn)VOC數(shù)據(jù)集轉(zhuǎn)YOLO數(shù)據(jù)集,只能利用代碼實(shí)現(xiàn)。所以本文為大家介紹了Python中xml轉(zhuǎn)txt的示例代碼,需要的可以參考一下2022-03-03
Python入門學(xué)習(xí)之類的相關(guān)知識總結(jié)
今天帶大家復(fù)習(xí)python的基礎(chǔ)知識,文中對類的相關(guān)知識作了非常詳細(xì)的介紹,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
對pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)例講解
下面小編就為大家分享一篇對pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python+flask實(shí)現(xiàn)restful接口的示例詳解
這篇文章主要為大家詳細(xì)介紹了Python如何利用flask實(shí)現(xiàn)restful接口,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下2023-02-02

