一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python高階函數(shù)詳解

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-02 16:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

python高階函數(shù)

1. map 函數(shù)

map 函數(shù),它接收兩個參數(shù),第一個參數(shù)是一個函數(shù)對象(當然也可以是一個lambda表達式),第二個參數(shù)是一個序列。

它可以實現(xiàn)怎樣的功能呢,我舉個例子你就明白了。

>>> map(lambda x: x*2, [1,2,3,4,5])
[2, 4, 6, 8, 10]

可以很清楚地看到,它可以將后面序列中的每一個元素做為參數(shù)傳入lambda中。

當我們不使用 map 函數(shù)時,你也許會這樣子寫。

mylist=[]
for i in [1,2,3,4,5]:
    mylist.append(i*2)

2. filter 函數(shù)

filter 函數(shù),和 map 函數(shù)相似。同樣也是接收兩個參數(shù),一個lambda 表達式,一個序列。它會遍歷后面序列中每一個元素,并將其做為參數(shù)傳入lambda表達式中,當表達式返回 True,則元素會被保留下來,當表達式返回 False ,則元素會被丟棄。

下面這個例子,將過濾出一個列表中小于0的元素。

>>>filter(lambda x: x < 0, range(-5, 5))
[-5, -4, -3, -2, -1]

3. reduce 函數(shù)

reduce 函數(shù),也是類似的。它的作用是先對序列中的第 1、2 個元素進行操作,得到的結(jié)果再與第三個數(shù)據(jù)用 lambda 函數(shù)運算,將其得到的結(jié)果再與第四個元素進行運算,以此類推下去直到后面沒有元素了。

https://file.elecfans.com//web2/M00/33/8C/poYBAGIfLxCAarbfAAB0y7gjBWk239.png

這邊舉個例子你也就明白了。

>>>reduce(lambda x,y: x+y, [1,2,3,4,5])
15

它的運算過程分解一下是這樣的。

1+2=3
3+3=6
6+4=10
10+5=15

4. 注意點

以上幾個函數(shù),熟練的掌握它們的寫法,可以讓我們的代碼看起來更加的 Pythonic ,在某一程度上代碼看起來更加的簡潔。

如果你是新手呢,你需要注意的是,以上示例是在 Python2.x 環(huán)境下演示的。而在 Python3.x 中,卻有所不同,你可以自己嘗試一下。

這里總結(jié)一下:

第一點,map 和 filter 函數(shù)返回的都不再是一個列表,而是一個迭代器對象。這里以map為例

>>> map_obj = map(lambda x: x*2, [1,2,3,4,5])
>>> from collections.abc import Iterator
>>> isinstance(map_obj, Iterator)
True
>>> next(map_obj)
2
>>> list(map_obj)
[4, 6, 8, 10]

第二點,reduce 不可以直接調(diào)用,而是要先導入才能使用

from functools import reduce

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4381

    瀏覽量

    64895
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86761
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    余承東疑再次喊話比亞迪,高階智駕如何界定?

    電子發(fā)燒友網(wǎng)報道(文 / 吳子鵬) 近日,比亞迪在智能化戰(zhàn)略發(fā)布會上宣布全系搭載 “天神之眼” 高階智駕系統(tǒng),這一舉措大幅降低了高階智駕的價格門檻。就連起售價不到 7 萬元的入門車型海鷗,也配備了
    的頭像 發(fā)表于 02-17 01:19 ?2442次閱讀

    永磁同步電機自適應高階滑模Type-2模糊控制

    針對永磁同步電機數(shù)學模型不確定問題,提出一種自適應高階滑模Type-2模糊控制方法。采用積分滑模面二階滑??刂坡?,保持傳統(tǒng)滑??刂频聂敯粜圆崿F(xiàn)不含不確定高階輸入輸出有限時間穩(wěn)定;不需要預先確定干擾
    發(fā)表于 03-27 11:54

    詳解RTOS中的Hook函數(shù)

    Hook函數(shù)是RTOS中的一個關(guān)鍵特性,通過該函數(shù),用戶可以增強對任務管理的控制,定義系統(tǒng)行為。
    的頭像 發(fā)表于 03-24 16:14 ?391次閱讀

    使用Python實現(xiàn)xgboost教程

    使用Python實現(xiàn)XGBoost模型通常涉及以下幾個步驟:數(shù)據(jù)準備、模型訓練、模型評估和模型預測。以下是一個詳細的教程,指導你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發(fā)表于 01-19 11:21 ?1381次閱讀

    各類Modbus功能接口函數(shù)詳解

    函數(shù)對應于功能碼01(0x01)讀取線圈/離散量輸出狀態(tài)(Read CoilStatus/DOs),其中,所讀取的值存放于參數(shù)uint8_t * dest指向的數(shù)組空間因此dest指向的空間必須足夠大,其大小至少為nb * sizeof(uint8_t)個字節(jié)。
    的頭像 發(fā)表于 12-11 17:12 ?2621次閱讀
    各類Modbus功能接口<b class='flag-5'>函數(shù)</b><b class='flag-5'>詳解</b>

    Python代理技術(shù)詳解:從入門到進階

    Python代理技術(shù)是一種在網(wǎng)絡(luò)編程中廣泛使用的技術(shù),它允許通過代理服務器發(fā)送和接收網(wǎng)絡(luò)請求。
    的頭像 發(fā)表于 11-12 07:06 ?636次閱讀

    如何用python控制usb2any?

    我想用python控制usb2any,在網(wǎng)上搜索后得到的關(guān)于usb2any的資料很少,是否有官方的usb2any函數(shù)庫?
    發(fā)表于 11-08 14:36

    SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別

    SUMIF函數(shù)和SUMIFS函數(shù)都是Excel中用于條件求和的函數(shù),它們可以幫助用戶根據(jù)特定的條件對數(shù)據(jù)進行求和。盡管它們的基本功能相似,但在使用場景和功能上存在一些差異。以下是對這兩個函數(shù)
    的頭像 發(fā)表于 10-30 09:51 ?7529次閱讀

    Python常用函數(shù)大全

    Python 世界里,有一些寶藏函數(shù)和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認識這些神器,讓你的開發(fā)生活瞬間輕松不少!
    的頭像 發(fā)表于 10-27 17:20 ?918次閱讀

    如何用python控制usb2any?

    我想用python控制usb2any,在網(wǎng)上搜索后得到的關(guān)于usb2any的資料很少,是否有官方的usb2any函數(shù)庫?
    發(fā)表于 09-27 06:44

    【每天學點AI】一個例子帶你了解Python裝飾器到底在干嘛!

    進行“加料”呢?Python裝飾器提供了一個更為優(yōu)雅的方式來增強現(xiàn)有函數(shù)的行為,并且不需要修改現(xiàn)有的函數(shù)代碼及調(diào)用方式。接下來通過一個案例來介紹一下裝飾器的原理和實
    的頭像 發(fā)表于 09-20 16:54 ?798次閱讀
    【每天學點AI】一個例子帶你了解<b class='flag-5'>Python</b>裝飾器到底在干嘛!

    量子計算場景實用秘籍:開物SDK之“高階函數(shù)降階”

    現(xiàn)實應用場景往往具有復雜的多變量交互作用和非線性行為,在數(shù)學上均屬于高階問題,存在于實際應用中的各個領(lǐng)域,如圖像處理中的去噪和超分辨率、工程設(shè)計與優(yōu)化、金融工程中的期權(quán)定價和投資組合優(yōu)化、醫(yī)療領(lǐng)域
    的頭像 發(fā)表于 08-29 11:14 ?1421次閱讀
    量子計算場景實用秘籍:開物SDK之“<b class='flag-5'>高階</b><b class='flag-5'>函數(shù)</b>降階”

    pytorch和python的關(guān)系是什么

    在當今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語言之一。Python的易學易用、豐富的庫和框架以及強大的社區(qū)支持,使其成為了數(shù)據(jù)科學、機器學習和深度學習等領(lǐng)域的首選語言。而在深度學習領(lǐng)域
    的頭像 發(fā)表于 08-01 15:27 ?3284次閱讀

    Python建模算法與應用

    Python作為一種功能強大、免費、開源且面向?qū)ο蟮木幊陶Z言,在科學計算、數(shù)學建模、數(shù)據(jù)分析等領(lǐng)域展現(xiàn)出了卓越的性能。其簡潔的語法、對動態(tài)輸入的支持以及解釋性語言的本質(zhì),使得Python在多個平臺
    的頭像 發(fā)表于 07-24 10:41 ?1268次閱讀

    Python在AI中的應用實例

    Python在人工智能(AI)領(lǐng)域的應用極為廣泛且深入,從基礎(chǔ)的數(shù)據(jù)處理、模型訓練到高級的應用部署,Python都扮演著至關(guān)重要的角色。以下將詳細探討Python在AI中的幾個關(guān)鍵應用實例,包括機器學習、深度學習、自然語言處理、
    的頭像 發(fā)表于 07-19 17:16 ?2709次閱讀