佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 這三個好用的python函數(shù)你不能不知道!

這三個好用的python函數(shù)你不能不知道!

熱門標簽:銀行業(yè)務(wù) 呼叫中心市場需求 服務(wù)器配置 鐵路電話系統(tǒng) 美圖手機 檢查注冊表項 智能手機 網(wǎng)站文章發(fā)布

一、前言

我想介紹這些功能的主要原因是它們可以幫助您避免編寫循環(huán)。在某些情況下,循環(huán)運行可能會很昂貴,除此之外,這些功能將有助于提高速度。

以下是本文將涵蓋的功能:

  • map()
  • filter()
  • reduce()

即使你之前已經(jīng)掌握了這些功能,用更多的理論和例子來強化你的知識也沒有害處。
所以不用多說,讓我們開始吧!

二、map()

map()函數(shù)接受另一個函數(shù)作為形參,以及某種數(shù)組。其思想是將一個函數(shù)(作為參數(shù)傳入的函數(shù))應(yīng)用到數(shù)組中的每一項。

這很有用,有兩個原因:

1.你不必寫循環(huán)

2.它比循環(huán)快

讓我們看看它的實際應(yīng)用。我將聲明一個名為num_func()的函數(shù),它接受一個數(shù)字作為參數(shù)。這個數(shù)的平方除以2,然后返回。注意,操作是任意選擇的,你可以在函數(shù)內(nèi)部做任何你想做的事情:

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

看起來這個過程很成功。這里沒有什么開創(chuàng)性的東西,但是盡可能避免循環(huán)是一件好事。

三、filter()

下面是另一個不錯的函數(shù),它可以節(jié)省您的時間——無論是編寫還是執(zhí)行。顧名思義,這個想法是將只滿足特定條件的項保存在數(shù)組中。

就像map()一樣,我們可以事先聲明函數(shù),然后將它與可迭代對象列表一起傳遞給filter()。

讓我們看看它的實際應(yīng)用。我已經(jīng)聲明了一個名為more_than_15()的函數(shù),顧名思義,如果作為形參的項大于15,該函數(shù)將返回True:

接下來,我們聲明一個數(shù)字數(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是返回的值。首先從代碼實現(xiàn)開始,讓我們從functools模塊導(dǎo)入reduce函數(shù),并聲明一個函數(shù)返回兩個數(shù)字的和:

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

我希望你能在日常生活中利用這三個功能。速度的提高可能不是很大——這取決于您所處理的數(shù)據(jù)量——但是代碼通常會因為更少的循環(huán)而看起來更好!

到此這篇關(guān)于這三個好用的python函數(shù)你不能不知道!的文章就介紹到這了,更多相關(guān)Python函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python函數(shù)不定長參數(shù)使用方法解析
  • Python函數(shù)中不定長參數(shù)的寫法
  • python析構(gòu)函數(shù)用法及注意事項
  • Python中函數(shù)的定義及其調(diào)用
  • Python函數(shù)中的不定長參數(shù)相關(guān)知識總結(jié)

標簽:滄州 河南 上海 沈陽 新疆 長治 紅河 樂山

巨人網(wǎng)絡(luò)通訊聲明:本文標題《這三個好用的python函數(shù)你不能不知道!》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    威宁| 桂平市| 开原市| 电白县| 襄汾县| 司法| 施秉县| 淮滨县| 石柱| 百色市| 灵丘县| 湘西| 新丰县| 永济市| 信阳市| 梓潼县| 和田市| 遵化市| 涞水县| 高青县| 团风县| 天门市| 洛川县| 通城县| 枣庄市| 克山县| 开原市| 裕民县| 类乌齐县| 永泰县| 白城市| 云安县| 依安县| 凌云县| 阳高县| 当雄县| 许昌县| 雷山县| 富民县| 龙川县| 八宿县|