日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

Python5個內(nèi)建高階函數(shù)的使用

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析與開發(fā) ? 作者:數(shù)據(jù)分析與開發(fā) ? 2021-02-04 16:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文結(jié)合各種實際的例子詳細(xì)講解了Python5個內(nèi)建高階函數(shù)的使用,能夠幫助理解Python的數(shù)據(jù)結(jié)構(gòu)和提高數(shù)據(jù)處理的效率,這5個函數(shù)分別是:

map

reduce

filter

sorted/sort

zip

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

一、map

1.1 語法

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

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

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

help(map) # 查看幫助信息

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

1.2 demo

通過舉例說明map函數(shù)的使用方法

使用Python內(nèi)置函數(shù)

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

使用自定義函數(shù)

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

使用匿名函數(shù)lambda

使用匿名函數(shù)的時候可以有多個參數(shù)

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

二、reduce

2.1 語法

reduce函數(shù)的定義:

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

reduce依次從sequence中取一個元素,和上一次調(diào)用function的結(jié)果做參數(shù),再次調(diào)用function。

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

2.2 使用

Python3中已將reduce函數(shù)移到functools模塊中,需要先進(jìn)行導(dǎo)入:

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

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

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

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

2.3 demo

使用自定義函數(shù)

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

使用匿名函數(shù)lambda

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

image-20201024185550970

一個復(fù)雜的例子

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

具體過程為:

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

帶有初始值的例子

初始化值和序列中的第一個值執(zhí)行func函數(shù),將得到的結(jié)果作為下次的起始值

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()函數(shù)用于過濾序列,過濾掉不符合條件的那些元素,返回符合條件的元素組成新列表。

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

filter()語法如下:

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

3.2 demo

help(filter) # 幫助文檔

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

使用自定義函數(shù)

返回10以內(nèi)的偶數(shù)

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

使用匿名函數(shù)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個參數(shù)

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

可迭代對象iterable

reverse=False,接受一個布爾值,選擇是否反轉(zhuǎn)排序結(jié)果,默認(rèn)是False

接受一個回調(diào)函數(shù)key=None,回調(diào)函數(shù)只能有一個參數(shù),根據(jù)函數(shù)的返回值進(jìn)行排序

4.3 demo

help(sorted) # 幫助文檔

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

默認(rèn)不反轉(zhuǎn)

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

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

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

4.4 結(jié)果反轉(zhuǎn)

結(jié)果反轉(zhuǎn)的意義就是將結(jié)果降序排列,因為原本默認(rèn)是升序的,使用的是reverse=True

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

4.5 理解key

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

在這里我們使用絕對值函數(shù)

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

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

4.6 對比sort()

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

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

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

五、zip

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

5.1 語法

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

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

在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

同時對不同類型的序列進(jìn)行合并

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

5.4 處理長度不同

當(dāng)多個序列同時存在,取長度最小的那個序列的長度

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

5.5 zip(*iterables)

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

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

5.6 復(fù)雜例子

下面看一個更為復(fù)雜的例子

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

這個例子的解釋為:

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

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

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

5.7 zip運用

下面通過zip的實際例子來說明它的應(yīng)用:

列表求和

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

數(shù)據(jù)合并

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

字典的key-value轉(zhuǎn)換

for循環(huán)實現(xiàn):

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

使用zip實現(xiàn):

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

責(zé)任編輯:lq

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

    關(guān)注

    3

    文章

    4422

    瀏覽量

    67871
  • 數(shù)據(jù)處理
    +關(guān)注

    關(guān)注

    0

    文章

    655

    瀏覽量

    30085
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4889

    瀏覽量

    90330

原文標(biāo)題:Python 高階函數(shù)使用總結(jié)

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    使用PYTHON進(jìn)行的跨平臺仿真

    如何使用編程語言Python來調(diào)用和控制VirtualLab Fusion中的模擬。請查看下面鏈接的文檔,以找到關(guān)于如何設(shè)置和使用Python和VirtualLab Fusion之間的接口的詳細(xì)指南,以及一
    發(fā)表于 04-02 08:21

    [VirtualLab] 使用Python運行VirtualLab Fusion光學(xué)仿真

    使用代碼編輯器Visual Studio Code(VS Code),因為它提供了一用戶友好的安裝工作流程*。當(dāng)然,如果需要,也可以使用其他Python編輯器。 對于使用VS Code的用戶: 1.1
    發(fā)表于 03-31 09:39

    [VirtualLab] 使用Python進(jìn)行跨平臺參數(shù)掃描

    ** 準(zhǔn)備Python **配置路徑 ** **在VirtualLab Fusion中定義一光學(xué)設(shè)置 ** **保存光學(xué)設(shè)置并導(dǎo)出參數(shù)到一XML文件 ** **運行模擬 ** 參數(shù)掃描——改變單個參數(shù)
    發(fā)表于 03-31 09:36

    邁向智駕高階驗證:康謀高保真HIL仿真解決方案,重塑測試價值

    隨著智能駕駛向L3/L4高階演進(jìn),傳感器配置密度激增、場景復(fù)雜度指數(shù)級提升,HIL(硬件在環(huán))測試面臨核心痛點,如傳統(tǒng)方案仿真保真度不足難以匹配高階智駕感知需求、鏈路復(fù)雜導(dǎo)致升級成本高、邊緣場景覆蓋不全與低延遲傳輸矛盾凸顯、無法支撐高階
    的頭像 發(fā)表于 01-23 17:33 ?3530次閱讀
    邁向智駕<b class='flag-5'>高階</b>驗證:康謀高保真HIL仿真解決方案,重塑測試價值

    請問如何從一函數(shù)內(nèi)部判斷本函數(shù)是否是成員函數(shù)還是非成員函數(shù)?

    如何從一函數(shù)內(nèi)部判斷本函數(shù)是否是成員函數(shù)還是非成員函數(shù)
    發(fā)表于 01-06 06:30

    如何選擇一合適的高階低通濾波器

    高階低通濾波器是一種通過組合多個二階濾波器級來實現(xiàn)的濾波器,用于抑制高頻信號并保留低頻信號。從信號處理的角度來看,世界上所有的信號都可以被理解為是一或者多個或者無窮不同頻率、不同相位、不同幅值
    的頭像 發(fā)表于 12-30 15:37 ?1413次閱讀
    如何選擇一<b class='flag-5'>個</b>合適的<b class='flag-5'>高階</b>低通濾波器

    【乾芯QXS320F開發(fā)板試用】TMUFPU內(nèi)建函數(shù)

    到現(xiàn)在,一層套一層,我又在QX-IDE使用手冊里找到了內(nèi)建函數(shù)描述表,這里面就是FPU和TMU使用的C函數(shù) 要使用內(nèi)建函數(shù),必須引用下圖頭文件 qx320f.h 打開這個頭文件,里面都是內(nèi)建函
    發(fā)表于 12-11 13:32

    Python調(diào)用API教程

    不同系統(tǒng)之間的信息交互。在這篇文章中,我們將詳細(xì)介紹Python調(diào)用API的方法和技巧。 一、用Requests庫發(fā)送HTTP請求 使用Python調(diào)用API的第一步是發(fā)送HTTP請求,通常
    的頭像 發(fā)表于 11-03 09:15 ?1218次閱讀

    Python 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴(kuò)展的商品詳情爬蟲實戰(zhàn)

    一、技術(shù)選型:為什么選 Python 而不是 Java? 結(jié)論: “調(diào)研階段用 Python,上線后如果 QPS 爆表再考慮 Java 重構(gòu)?!?二、整體架構(gòu)速覽(3 分鐘看懂) 三、開發(fā)前準(zhǔn)備(5
    的頭像 發(fā)表于 10-21 16:59 ?637次閱讀
    用 <b class='flag-5'>Python</b> 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴(kuò)展的商品詳情爬蟲實戰(zhàn)

    termux調(diào)試python猜數(shù)字游戲

    用termux做一猜數(shù)字游戲 下面是在Termux中創(chuàng)建猜數(shù)字游戲的步驟及完整實現(xiàn)方案,結(jié)合Python實現(xiàn)(最適配Termux環(huán)境): ? 一、環(huán)境準(zhǔn)備(Termux基礎(chǔ)配置) 1.
    發(fā)表于 08-29 17:15

    termux如何搭建python游戲

    戲開發(fā)流程 以Pygame為例,創(chuàng)建一基礎(chǔ)窗口: ```python import pygame pygame.init() screen = pygame.display.set_mode
    發(fā)表于 08-29 07:06

    Python中字符串逆序有幾種方式,代碼是什么

    對于一給定的字符串,逆序輸出,這個任務(wù)對于python來說是一種很簡單的操作,畢竟強(qiáng)大的列表和字符串處理的一些列函數(shù)足以應(yīng)付這些問題 了,今天總結(jié)了一下python中對于字符串的逆序
    的頭像 發(fā)表于 08-28 14:44 ?1319次閱讀

    華為助力上海移動加速打造5G-A高階自智網(wǎng)絡(luò)

    隨著新一輪科技革命和產(chǎn)業(yè)變革迅猛發(fā)展,上海正在加速網(wǎng)絡(luò)數(shù)智化轉(zhuǎn)型。近日,華為助力中國移動通信集團(tuán)上海有限公司(以下簡稱“上海移動”)成功舉辦“魔速領(lǐng)跑,智創(chuàng)未來”5G-A 2.0啟航發(fā)布會,同時展示了“魔速領(lǐng)跑,智驅(qū)網(wǎng)絡(luò)”為主題的上海5G-A
    的頭像 發(fā)表于 06-26 11:50 ?1203次閱讀

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開發(fā)函數(shù)

    ) 最后說句掏心窩的話:本地調(diào)試真的能省下80%的打包等待時間,早用早輕松!開發(fā)過程中遇到任何問題,歡迎在評論區(qū)拍磚交流~ ? 祝各位開發(fā)者調(diào)試順利,BUG退散!下次咱們再聊聊云函數(shù)高階玩法,記得關(guān)注哦~ ? (本文檔基于HarmonyOS ArkTS API 9+版本
    發(fā)表于 05-22 17:29

    HarmonyOS5云服務(wù)技術(shù)分享--云函數(shù)創(chuàng)建配置指南

    。HarmonyOS的AGC平臺提供靈活配置,支持Node.js、Python、Java等多種語言,還能自定義運行環(huán)境哦! ?? 二、手把手創(chuàng)建第一函數(shù) ??Step 1:進(jìn)入云函數(shù)
    發(fā)表于 05-22 17:08
    金寨县| 嘉鱼县| 托里县| 长宁区| 抚州市| 车致| 鄯善县| 广平县| 敦化市| 乌什县| 抚州市| 滁州市| 瑞丽市| 尚义县| 招远市| 涿州市| 徐州市| 阳城县| 蛟河市| 兴化市| 永新县| 谷城县| 武宣县| 吐鲁番市| 突泉县| 土默特右旗| 互助| 云林县| 山阴县| 北京市| 剑川县| 阿荣旗| 英吉沙县| 青河县| 东安县| 赣榆县| 贡觉县| 磐石市| 南丹县| 关岭| 北宁市|