女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

python高階函數詳解

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-02 16:47 ? 次閱讀

python高階函數

1. map 函數

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

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

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

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

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

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

2. filter 函數

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

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

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

3. reduce 函數

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

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. 注意點

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

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

這里總結一下:

第一點,map 和 filter 函數返回的都不再是一個列表,而是一個迭代器對象。這里以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 不可以直接調用,而是要先導入才能使用

from functools import reduce

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

    關注

    3

    文章

    4368

    瀏覽量

    64181
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86169
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

    針對永磁同步電機數學模型不確定問題,提出一種自適應高階滑模Type-2模糊控制方法。采用積分滑模面二階滑模控制律,保持傳統滑模控制的魯棒性并實現不含不確定高階輸入輸出有限時間穩定;不需要預先確定干擾
    發表于 03-27 11:54

    詳解RTOS中的Hook函數

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

    各類Modbus功能接口函數詳解

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

    Python代理技術詳解:從入門到進階

    Python代理技術是一種在網絡編程中廣泛使用的技術,它允許通過代理服務器發送和接收網絡請求。
    的頭像 發表于 11-12 07:06 ?538次閱讀

    如何用python控制usb2any?

    我想用python控制usb2any,在網上搜索后得到的關于usb2any的資料很少,是否有官方的usb2any函數庫?
    發表于 11-08 14:36

    SUMIF函數與SUMIFS函數的區別

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

    Python常用函數大全

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

    如何用python控制usb2any?

    我想用python控制usb2any,在網上搜索后得到的關于usb2any的資料很少,是否有官方的usb2any函數庫?
    發表于 09-27 06:44

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

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

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

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

    pytorch和python的關系是什么

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

    python函數的萬能參數

    我們通過一個簡單的事例來展示一下函數的萬能參數,我們先寫一個最簡單的函數
    的頭像 發表于 07-17 14:56 ?541次閱讀
    <b class='flag-5'>python</b><b class='flag-5'>函數</b>的萬能參數

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1923次閱讀

    如何使用Python進行神經網絡編程

    神經網絡簡介 神經網絡是一種受人腦啟發的機器學習模型,由大量的節點(或稱為“神經元”)組成,這些節點在網絡中相互連接。每個節點可以接收輸入,對輸入進行加權求和,然后通過一個激活函數產生輸出
    的頭像 發表于 07-02 09:58 ?678次閱讀