哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

map

reduce

filter

sorted/sort

zip

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

一、map

1.1 語(yǔ)法

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

Python2中直接返回的是一個(gè)列表

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

help(map) # 查看幫助信息

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

1.2 demo

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

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

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

使用自定義函數(shù)

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

使用匿名函數(shù)lambda

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

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

二、reduce

2.1 語(yǔ)法

reduce函數(shù)的定義:

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

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

第一次調(diào)用function時(shí),如果提供initial參數(shù),會(huì)以sequence中的第一個(gè)元素和initial作為參數(shù)調(diào)用function,否則會(huì)以序列sequence的第一個(gè)數(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

上面的例子我們通過(guò)一個(gè)圖形來(lái)解釋說(shuō)明:

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

一個(gè)復(fù)雜的例子

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

具體過(guò)程為:

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

帶有初始值的例子

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

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

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

三、filter

3.1 語(yǔ)法

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

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

filter()語(yǔ)法如下:

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

對(duì)字符串的篩選

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

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

四、sorted

4.1 語(yǔ)法

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

4.2 3個(gè)參數(shù)

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

可迭代對(duì)象iterable

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

接受一個(gè)回調(diào)函數(shù)key=None,回調(diào)函數(shù)只能有一個(gè)參數(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

對(duì)元組、range對(duì)象、字典的排序

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

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

結(jié)果反轉(zhuǎn)的意義就是將結(jié)果降序排列,因?yàn)樵灸J(rèn)是升序的,使用的是reverse=True

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

4.5 理解key

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

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

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

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

4.6 對(duì)比sort()

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

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

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

五、zip

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

5.1 語(yǔ)法

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

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

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

help(zip) # 查看文檔

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

5.2 zip接受一個(gè)序列

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

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

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

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

5.3 zip接受多個(gè)序列

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

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

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

5.4 處理長(zhǎng)度不同

當(dāng)多個(gè)序列同時(shí)存在,取長(zhǎng)度最小的那個(gè)序列的長(zhǎng)度

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

5.5 zip(*iterables)

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

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

5.6 復(fù)雜例子

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

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

這個(gè)例子的解釋為:

[x]是一個(gè)列表中含有列表,x本身就是一個(gè)列表

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

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

5.7 zip運(yùn)用

下面通過(guò)zip的實(shí)際例子來(lái)說(shuō)明它的應(yīng)用:

列表求和

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

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

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

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

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

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

使用zip實(shí)現(xiàn):

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

責(zé)任編輯:lq

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

    關(guān)注

    3

    文章

    4421

    瀏覽量

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

    關(guān)注

    0

    文章

    653

    瀏覽量

    30072
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4882

    瀏覽量

    90285

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

    使用代碼編輯器Visual Studio Code(VS Code),因?yàn)樗峁┝艘?b class='flag-5'>個(gè)用戶友好的安裝工作流程*。當(dāng)然,如果需要,也可以使用其他Python編輯器。 對(duì)于使用VS Code的用戶: 1.1
    發(fā)表于 03-31 09:39

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

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

    邁向智駕高階驗(yàn)證:康謀高保真HIL仿真解決方案,重塑測(cè)試價(jià)值

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

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

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

    如何選擇一個(gè)合適的高階低通濾波器

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

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

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

    Python調(diào)用API教程

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

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

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

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

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

    termux如何搭建python游戲

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

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

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

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

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

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

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

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

    。HarmonyOS的AGC平臺(tái)提供靈活配置,支持Node.js、Python、Java等多種語(yǔ)言,還能自定義運(yùn)行環(huán)境哦! ?? 二、手把手創(chuàng)建第一個(gè)函數(shù) ??Step 1:進(jìn)入云函數(shù)
    發(fā)表于 05-22 17:08
    理塘县| 乐亭县| 沂南县| 利辛县| 永和县| 津南区| 双峰县| 溧阳市| 二手房| 潞西市| 建阳市| 股票| 昆明市| 驻马店市| 鄂尔多斯市| 宜阳县| 维西| 常宁市| 乌兰察布市| 伊春市| 都江堰市| 乾安县| 西昌市| 江源县| 永福县| 顺平县| 广德县| 金川县| 迁安市| 含山县| 平江县| 桑日县| 英超| 温州市| 内江市| 贡山| 大连市| 安丘市| 资中县| 玛纳斯县| 扬中市|