色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

Python5個內建高階函數的使用

數據分析與開發 ? 來源:數據分析與開發 ? 作者:數據分析與開發 ? 2021-02-04 16:06 ? 次閱讀

本文結合各種實際的例子詳細講解了Python5個內建高階函數的使用,能夠幫助理解Python的數據結構和提高數據處理的效率,這5個函數分別是:

map

reduce

filter

sorted/sort

zip

79c32d28-584b-11eb-8b86-12bb97331649.jpg

一、map

1.1 語法

map函數的基本語法是map(func, seq),其含義指的是:對后面可迭代序列中的每個元素執行前面的函數func的功能,最終獲取到一個新的序列。注意:

Python2中直接返回的是一個列表

Python3中返回的是一個可迭代器,如果想返回列表,可以使用list()進行處理

help(map) # 查看幫助信息

79e44224-584b-11eb-8b86-12bb97331649.jpg

1.2 demo

通過舉例說明map函數的使用方法

使用Python內置函數

7a3b4a6a-584b-11eb-8b86-12bb97331649.jpg

使用自定義函數

7a5a8f6a-584b-11eb-8b86-12bb97331649.jpg

使用匿名函數lambda

使用匿名函數的時候可以有多個參數

7a7a2c8a-584b-11eb-8b86-12bb97331649.jpg

二、reduce

2.1 語法

reduce函數的定義:

reduce(function, sequence [, initial] ) -> value

reduce依次從sequence中取一個元素,和上一次調用function的結果做參數,再次調用function。

第一次調用function時,如果提供initial參數,會以sequence中的第一個元素和initial作為參數調用function,否則會以序列sequence的第一個數

2.2 使用

Python3中已將reduce函數移到functools模塊中,需要先進行導入:

from functools import reduce # 導入help(reduce) # 查看幫助文檔

7aa32eaa-584b-11eb-8b86-12bb97331649.jpg

上面的例子我們通過一個圖形來解釋說明:

7ad0b0f0-584b-11eb-8b86-12bb97331649.jpg

2.3 demo

使用自定義函數

7af4c774-584b-11eb-8b86-12bb97331649.jpg

使用匿名函數lambda

7b1a6bdc-584b-11eb-8b86-12bb97331649.jpg

image-20201024185550970

一個復雜的例子

7b385462-584b-11eb-8b86-12bb97331649.jpg

具體過程為:

1.1*2+1=3 2.3*3+1=10# 第一個3為上面的結果3,第2個原始數據中的3 3.10*4+1=41

帶有初始值的例子

初始化值和序列中的第一個值執行func函數,將得到的結果作為下次的起始值

7b76dfb6-584b-11eb-8b86-12bb97331649.jpg

# 具體過程解釋為 1.6+1=7 2.7+2=9 3.9+3=12 4.12+4=16 5.16+5=21

三、filter

3.1 語法

filter()函數用于過濾序列,過濾掉不符合條件的那些元素,返回符合條件的元素組成新列表。

序列中的每個元素作為參數傳遞給函數進行判斷,返回True或者False,最后將返回True的元素放到新列表中。

filter()語法如下:

filter(function, iterable) # 前者為函數,后者為待執行的序列

3.2 demo

help(filter) # 幫助文檔

7b96e5f4-584b-11eb-8b86-12bb97331649.jpg

使用自定義函數

返回10以內的偶數

7bb871f6-584b-11eb-8b86-12bb97331649.jpg

使用匿名函數lambda

7c04fdfa-584b-11eb-8b86-12bb97331649.jpg

對字符串的篩選

選擇符合指定要求的字符串

7c376dda-584b-11eb-8b86-12bb97331649.jpg

四、sorted

4.1 語法

sorted(iterable, key=None, reverse=False)

4.2 3個參數

sorted()接受3個參數,返回的是一個排序后的列表

可迭代對象iterable

reverse=False,接受一個布爾值,選擇是否反轉排序結果,默認是False

接受一個回調函數key=None,回調函數只能有一個參數,根據函數的返回值進行排序

4.3 demo

help(sorted) # 幫助文檔

7c74abaa-584b-11eb-8b86-12bb97331649.jpg

默認不反轉

7c9681b2-584b-11eb-8b86-12bb97331649.jpg

對元組、range對象、字典的排序

7cc9331e-584b-11eb-8b86-12bb97331649.jpg

4.4 結果反轉

結果反轉的意義就是將結果降序排列,因為原本默認是升序的,使用的是reverse=True

7cf8dbaa-584b-11eb-8b86-12bb97331649.jpg

4.5 理解key

key參數的作用是我們自定義一個函數,然后通過將序列中的元素作用于函數之后再進行排序

在這里我們使用絕對值函數

7d16a89c-584b-11eb-8b86-12bb97331649.jpg

7d350fda-584b-11eb-8b86-12bb97331649.jpg

4.6 對比sort()

sort()方法只能對原列表list進行排序,參數和sorted是相同的

結果是將原來的列表直接原地修改,而sorted 是生成新的列表,二者是不同的

7d634652-584b-11eb-8b86-12bb97331649.jpg

五、zip

zip()是Python中一個非常重要的方法,能夠快速的實現很多功能。

5.1 語法

zip([iterable,...]) # iterable是一個或者多個可迭代器

函數執行的結果在Python3中返回的是一個zip對象,如果需要展示成列表的形式,直接使用list方法展開;展開的結果是列表中嵌套元組的形式

在Python2中直接返回的是元組列表形式

help(zip) # 查看文檔

7d8a8abe-584b-11eb-8b86-12bb97331649.jpg

5.2 zip接受一個序列

zip中可以接受列表、元組、字符串等形式

7dbbdefc-584b-11eb-8b86-12bb97331649.jpg

zip接受空列表的形式,返回的仍空列表

7dee4eaa-584b-11eb-8b86-12bb97331649.jpg

5.3 zip接受多個序列

7e24430c-584b-11eb-8b86-12bb97331649.jpg

同時對不同類型的序列進行合并

7e547838-584b-11eb-8b86-12bb97331649.jpg

5.4 處理長度不同

當多個序列同時存在,取長度最小的那個序列的長度

7eac1d40-584b-11eb-8b86-12bb97331649.jpg

5.5 zip(*iterables)

我們一般認為該方法是zip的反過程,是一個unzip的過程,舉例說明其使用:

7edc2e18-584b-11eb-8b86-12bb97331649.jpg

5.6 復雜例子

下面看一個更為復雜的例子

7f11c910-584b-11eb-8b86-12bb97331649.jpg

這個例子的解釋為:

[x]是一個列表中含有列表,x本身就是一個列表

[x]*3結果為[x,x,x],實際上也是[[4,5,6],[4,5,6],[4,5,6]]

[*[x]*3]的結果則為[(4,4,4),(5,5,5),(6,6,6)]

5.7 zip運用

下面通過zip的實際例子來說明它的應用:

列表求和

7f3d2380-584b-11eb-8b86-12bb97331649.jpg

數據合并

7fa167f0-584b-11eb-8b86-12bb97331649.jpg

字典的key-value轉換

for循環實現:

7fbce2b4-584b-11eb-8b86-12bb97331649.jpg

使用zip實現:

7fecd6b8-584b-11eb-8b86-12bb97331649.jpg

責任編輯:lq

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

    關注

    3

    文章

    4338

    瀏覽量

    62734
  • 數據處理
    +關注

    關注

    0

    文章

    605

    瀏覽量

    28592
  • python
    +關注

    關注

    56

    文章

    4798

    瀏覽量

    84801

原文標題:Python 高階函數使用總結

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TimSort:一在標準函數庫中廣泛使用的排序算法

    排序算法呢? 本文將帶你走進 TimSort,一在標準函數庫中廣泛使用的排序算法。 這個算法由工程師 Tim Peters 于 2001 年專為 Python 設計,并自 Python
    的頭像 發表于 01-03 11:42 ?84次閱讀

    輕舟智航中高階智駕解決方案再獲項目定點

    近日,輕舟智航宣布其基于地平線征程6M打造的中高階智駕解決方案「輕舟乘風」正式獲得頭部新勢力車企量產項目定點。目前,輕舟智航基于征程5的智駕方案已取得規?;慨a。此次基于征程6M再獲車企量產定點,意味著輕舟智航已基于地平線征程平臺建立面向中
    的頭像 發表于 12-26 15:26 ?246次閱讀

    Python常用函數大全

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

    使用Python搭建簡易本地http服務器,升級WIPI模組

    01 下載python https://www.python.org/downloads/ 02 安裝python 安裝時候選擇把path加入電腦環境變量 3 由于python
    的頭像 發表于 09-29 15:38 ?601次閱讀
    使用<b class='flag-5'>Python</b>搭建簡易本地http服務器,升級WIPI模組

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

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

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

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

    pytorch和python的關系是什么

    ,PyTorch已經成為了一非常受歡迎的框架。本文將介紹PyTorch和Python之間的關系,以及它們在深度學習領域的應用。 Python簡介 Python是一種高級、解釋型、通用
    的頭像 發表于 08-01 15:27 ?2057次閱讀

    python函數的萬能參數

    我們通過一簡單的事例來展示一下函數的萬能參數,我們先寫一最簡單的函數。
    的頭像 發表于 07-17 14:56 ?356次閱讀
    <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 ?1260次閱讀

    用pycharm進行python爬蟲的步驟

    以下是使用PyCharm進行Python爬蟲的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是一流行的
    的頭像 發表于 07-11 10:11 ?887次閱讀

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

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

    函數指針與回調函數的應用實例

    通常我們說的指針變量是指向一整型、字符型或數組等變量,而函數指針是指向函數函數指針可以像一般函數一樣,用于調用
    的頭像 發表于 03-07 11:13 ?412次閱讀
    <b class='flag-5'>函數</b>指針與回調<b class='flag-5'>函數</b>的應用實例

    函數發生器的作用,概念要點是什么

    概念。 理解迭代器和可迭代對象: 在深入探討函數生成器之前,我們需要先了解迭代器和可迭代對象的概念。在Python中,迭代是一種訪問集合元素的方式,無論集合的大小如何。迭代器是一可以記住遍歷位置的對象??傻鷮ο笫强梢苑祷?/div>
    的頭像 發表于 02-23 16:01 ?557次閱讀

    output函數怎么用

    output 函數是一通用的術語,并不特指某個具體的編程語言或軟件工具。 如果你在使用 Python 編程語言,那么可能是指 print 函數。P
    的頭像 發表于 02-23 14:21 ?1277次閱讀

    python中open函數的用法詳解

    python中open函數的用法詳解 Python中的open()函數用于打開文件。它接受文件名和模式作為參數,并返回一文件對象。文件對象
    的頭像 發表于 01-30 15:31 ?2163次閱讀
    主站蜘蛛池模板: 色欲狠狠躁天天躁无码中文字幕 | 小莹的性荡生活45章| 成年AV动漫| 午夜一级毛片看看| 久久妇女高潮几次MBA| 91麻精品国产91久久久久| 人人看人人看| 国产在线精品亚洲观看不卡欧美| 最美白嫩的极品美女ASSPICS| 人人碰在线视频| 好湿好滑好硬好爽好深视频| 91麻豆国产精品91久久久| 色综合久久天天影视网| 精品高清国产a毛片| no视频在线观看| 亚洲精品午睡沙发系列| 麒麟色欧美影院在线播放| 国产又色又爽又刺激在线播放| 91久久偷偷看嫩草影院无费| 天堂tv免费tv在线tv香蕉| 久久亚洲精品中文字幕| 大学生一级毛片免费看| 夜色88V精品国产亚洲AV| 青草国产超碰人人添人人碱| 果冻传媒视频在线播放| bl撅高扒开臀缝哦| 亚洲欧美一区二区成人片| 青柠在线视频| 久久久久久久伊人电影| 国产成人免费a在线资源| 91久久精品国产亚洲| 亚洲AV日韩AV欧美在线观看网 | 久久久久综合网| 国产a级黄色毛片| 最新无码二区日本专区| 羞羞漫画在线播放| 欧洲最强rapper潮水喷视频| 久草在线草a免费线看| 国产传媒精品1区2区3区| av淘宝 在线观看| 亚洲综合色在线视频久|