chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

本文結合各種實際的例子詳細講解了Python5個內(nèi)建高階函數(shù)的使用,能夠幫助理解Python的數(shù)據(jù)結構和提高數(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()進行處理

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的結果做參數(shù),再次調(diào)用function。

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

2.2 使用

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

from functools import reduce # 導入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

一個復雜的例子

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

具體過程為:

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

帶有初始值的例子

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

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ù)進行判斷,返回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)排序結果,默認是False

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

4.3 demo

help(sorted) # 幫助文檔

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

默認不反轉(zhuǎn)

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

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

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

4.4 結果反轉(zhuǎn)

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

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

4.5 理解key

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

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

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

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

4.6 對比sort()

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

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

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

五、zip

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

5.1 語法

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

函數(shù)執(zhí)行的結果在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

數(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

責任編輯:lq

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

    關注

    3

    文章

    4413

    瀏覽量

    67201
  • 數(shù)據(jù)處理

    關注

    0

    文章

    644

    瀏覽量

    29860
  • python
    +關注

    關注

    57

    文章

    4867

    瀏覽量

    89803

原文標題:Python 高階函數(shù)使用總結

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

    高階低通濾波器是一種通過組合多個二階濾波器級來實現(xiàn)的濾波器,用于抑制高頻信號并保留低頻信號。從信號處理的角度來看,世界上所有的信號都可以被理解為是一或者多個或者無窮不同頻率、不同相位、不同幅值
    的頭像 發(fā)表于 12-30 15:37 ?191次閱讀
    如何選擇一<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 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴展的商品詳情爬蟲實戰(zhàn)

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

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

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

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

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

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

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

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

    。HarmonyOS的AGC平臺提供靈活配置,支持Node.js、Python、Java等多種語言,還能自定義運行環(huán)境哦! ?? 二、手把手創(chuàng)建第一函數(shù) ??Step 1:進入云函數(shù)
    發(fā)表于 05-22 17:08

    自動駕駛行業(yè)常提的高階智駕是啥?

    的調(diào)整,也見證了這個行業(yè)的技術演進?!?b class='flag-5'>高階智駕”作為現(xiàn)階段在各大車企發(fā)布會經(jīng)常提到的一詞,也預示著自動駕駛行業(yè)正加速走入下半場。高階智駕不僅在功能上遠超傳統(tǒng)的高級輔助駕駛系統(tǒng),更在核心技術、系統(tǒng)架構以及整體安
    的頭像 發(fā)表于 04-18 12:24 ?980次閱讀
    自動駕駛行業(yè)常提的<b class='flag-5'>高階</b>智駕是<b class='flag-5'>個</b>啥?

    函數(shù)指針的六常見應用場景

    函數(shù)指針在嵌入式開發(fā)中有著廣泛的應用,它讓代碼更加靈活,減少冗余,提高可擴展性。很多時候,我們需要根據(jù)不同的情況動態(tài)調(diào)用不同的函數(shù),而函數(shù)指針正是實現(xiàn)這一需求的重要工具。本文將介紹六
    的頭像 發(fā)表于 04-07 11:58 ?1315次閱讀
    <b class='flag-5'>函數(shù)</b>指針的六<b class='flag-5'>個</b>常見應用場景

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

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

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行一簡單的Python程序。什么是
    的頭像 發(fā)表于 03-25 09:27 ?1736次閱讀
    零基礎入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?

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

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

    運行OVModelForCausalLM Python模塊時出錯了,怎么解決?

    創(chuàng)建了一自定義 Python* 代碼,類似于遵循 240-dolly-2-instruction 的 Jupyter 筆記本。 OVModelForCausalLM Python* 模塊運行時出錯。
    發(fā)表于 03-05 06:44