最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中dict()的高級(jí)用法實(shí)現(xiàn)

 更新時(shí)間:2019年11月13日 16:20:21   作者:小白的進(jìn)階  
這篇文章主要介紹了python中dict()的高級(jí)用法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

collections中defaultdict的用法

一、字典的鍵映射多個(gè)值

將下面的列表轉(zhuǎn)換成字典

一個(gè)字典就是一個(gè)鍵對(duì)應(yīng)一個(gè)單值得映射,而上面的列表中有相同的鍵,如果你想要一個(gè)鍵映射多個(gè)值,那么就需要將這多個(gè)值放到另外的序列中,比如list或者set里面,像下面這樣:

你可以很方便的使用 collections 模塊中的 defaultdict 來(lái)構(gòu)造這樣的字典。

defaultdict 的一個(gè)特征是它會(huì)自動(dòng)初始化每個(gè) key 剛開(kāi)始對(duì)應(yīng)的值。

當(dāng)然這個(gè)默認(rèn)的容器不一定是 list, 也可以是集合 set。 根據(jù)自己的需求選擇使用 list 還是 set 。如果你想保持元素的插入順序就應(yīng)該使用列表,如果想去掉重復(fù)元素就是用集合。

二、統(tǒng)計(jì)字典中某個(gè)值出現(xiàn)的次數(shù)

現(xiàn)在有一個(gè)列表,列表中有很多字典,需要統(tǒng)計(jì)字典中相同的鍵對(duì)應(yīng)的值得和

利用defaultdict 設(shè)置默認(rèn)值的方法 defaultdict(int) ,代碼如下:

collections 創(chuàng)建有序字典

字典dict是無(wú)序的,如果我們想要有序的字典,可以使用 OrderedDict,示例如下:

OrderedDict 內(nèi)部維護(hù)著一個(gè)根據(jù)鍵插入順序排序的雙向鏈表。每次當(dāng)一個(gè)新的元素插入進(jìn)來(lái)的時(shí)候,它會(huì)被放到鏈表的尾部,對(duì)于一個(gè)已經(jīng)存在的鍵的重復(fù)賦值不會(huì)改變鍵的順序。

需要注意的是,一個(gè) OrderedDict 的大小是一個(gè)普通字典的兩倍,因?yàn)樗鼉?nèi)部維護(hù)著另外一個(gè)鏈表,所以如果你需要構(gòu)建一個(gè)需要大量 OrderedDict 實(shí)例的數(shù)據(jù)結(jié)構(gòu)的時(shí)候(比如讀取100,000行CSV數(shù)據(jù)到一個(gè) OrderedDict 列表中),那么你就得仔細(xì)權(quán)衡一下是否使用 OrderedDIict 帶來(lái)的好處要大過(guò)于額外內(nèi)存消耗的影響。

改變key-value的順序

OrderedDict 是有序的字典,同時(shí)也能改變其順序,比如我們想要改變有序的 OrderedDict 對(duì)象的key-value 順序,可以使用 move_to_end(key), 還是以上面創(chuàng)建的有序字典為例子

可以看到之前排在第一位的 bar 被移到最后一位了,move_to_end還接收一個(gè)關(guān)鍵字參數(shù) last,last默認(rèn)為T(mén)rue,當(dāng)last=False時(shí),表示將該鍵移動(dòng)到最前面。

刪除key_value

如果我們要?jiǎng)h除有序字典中的 key_value,可以使用 popitem 方法,popitem(last=True)按照先進(jìn)后出的順序刪除 dict 中的key_value,popitem(last=False) 按照先進(jìn)先出的順序刪除dict中的 key_value

字典排序

利用python 內(nèi)置函數(shù) sorted 對(duì)字典的鍵或者值進(jìn)行排序,首先來(lái)了解下sorted 函數(shù)

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

參數(shù)說(shuō)明:

  • iterable -- 可迭代對(duì)象
  • key -- 主要是用來(lái)進(jìn)行比較的元素,只有一個(gè)參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對(duì)象中,指定可迭代對(duì)象中的一個(gè)元素來(lái)進(jìn)行排序。
  • reverse -- 排序規(guī)則,reverse = True 降序 , reverse = False 升序(默認(rèn))。

按照key進(jìn)行排序

理解了 sorted 函數(shù)就好辦了,代碼如下:

按照value進(jìn)行排序

代碼如下:

注意排序后的返回值是一個(gè)list,而原字典中的名值對(duì)被轉(zhuǎn)換為了list中的元組。

通過(guò)某個(gè)關(guān)鍵字排序一個(gè)字典列表

假設(shè)你有一個(gè)字典列表,如下:

你想根據(jù)某個(gè)或某幾個(gè)字典字段來(lái)排序這個(gè)列表。

通過(guò)使用 operator 模塊的itemgetter函數(shù),可以非常容易地排序這樣的數(shù)據(jù)結(jié)構(gòu),代碼如下:

itemgetter() 函數(shù)也支持多個(gè) keys,比如下面的代碼:

好了,上面就是字典的一些高級(jí)用法,先到這里吧,我們下次繼續(xù)…

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中逗號(hào)轉(zhuǎn)為空格的三種方法

    Python中逗號(hào)轉(zhuǎn)為空格的三種方法

    本文介紹了Python中將逗號(hào)轉(zhuǎn)換為空格的三種方法,包含使用replace函數(shù)、使用split函數(shù)、使用正則表達(dá)式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Python3 讀、寫(xiě)Excel文件的操作方法

    Python3 讀、寫(xiě)Excel文件的操作方法

    這篇文章主要介紹了Python3 讀、寫(xiě)Excel文件的操作方法,需要的朋友可以參考下
    2018-10-10
  • python爬蟲(chóng) 2019中國(guó)好聲音評(píng)論爬取過(guò)程解析

    python爬蟲(chóng) 2019中國(guó)好聲音評(píng)論爬取過(guò)程解析

    這篇文章主要介紹了python爬蟲(chóng) 2019中國(guó)好聲音評(píng)論爬取過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Matlab、Python為工具解析數(shù)據(jù)可視化之美

    Matlab、Python為工具解析數(shù)據(jù)可視化之美

    下面介紹一些數(shù)據(jù)可視化的作品(包含部分代碼),主要是地學(xué)領(lǐng)域,可遷移至其他學(xué)科,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • Python編程實(shí)現(xiàn)簡(jiǎn)易的音樂(lè)播放器基本操作

    Python編程實(shí)現(xiàn)簡(jiǎn)易的音樂(lè)播放器基本操作

    這篇文章主要來(lái)教大家利用Python編程來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)易的音樂(lè)播放器,文中含有基本功能的操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • python實(shí)現(xiàn)掃描ip地址的小程序

    python實(shí)現(xiàn)掃描ip地址的小程序

    本文通過(guò)實(shí)例代碼給大家介紹了python實(shí)現(xiàn)掃描ip地址的小程序,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-04-04
  • 使用Python requests庫(kù)發(fā)送JSON數(shù)據(jù)的POST請(qǐng)求步驟

    使用Python requests庫(kù)發(fā)送JSON數(shù)據(jù)的POST請(qǐng)求步驟

    在Python這個(gè)強(qiáng)大的編程語(yǔ)言中,requests庫(kù)是一個(gè)廣泛使用且功能強(qiáng)大的HTTP請(qǐng)求庫(kù),發(fā)送POST請(qǐng)求并附帶JSON數(shù)據(jù)是一個(gè)非常常見(jiàn)的需求,本文給大家介紹了如何用Python的requests庫(kù)發(fā)送JSON數(shù)據(jù)的POST請(qǐng)求,需要的朋友可以參考下
    2024-06-06
  • pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列詳解

    pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列詳解

    我們?cè)谧鰯?shù)據(jù)處理的時(shí)候遇到pandas列轉(zhuǎn)行的問(wèn)題,這篇文章主要給大家介紹了關(guān)于pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • 分析python服務(wù)器拒絕服務(wù)攻擊代碼

    分析python服務(wù)器拒絕服務(wù)攻擊代碼

    以下python代碼可以對(duì)網(wǎng)頁(yè)服務(wù)器發(fā)起拒絕服務(wù)攻擊,大家要預(yù)防啊,
    2014-01-01
  • Python解析excel文件存入sqlite數(shù)據(jù)庫(kù)的方法

    Python解析excel文件存入sqlite數(shù)據(jù)庫(kù)的方法

    最近工作中遇到一個(gè)需求,需要使用Python解析excel文件并存入sqlite,本文就實(shí)現(xiàn)的過(guò)程做個(gè)總結(jié)分享給大家,文中包括數(shù)據(jù)庫(kù)設(shè)計(jì)、建立數(shù)據(jù)庫(kù)、Python解析excel文件、Python讀取文件名并解析和將解析的數(shù)據(jù)存儲(chǔ)入庫(kù),有需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11

最新評(píng)論

贞丰县| 彝良县| 剑河县| 华池县| 仪征市| 太和县| 和静县| 涞水县| 旺苍县| 共和县| 吉隆县| 闸北区| 五指山市| 宝山区| 汉中市| 青冈县| 奉新县| 彩票| 凤庆县| 昭觉县| 区。| 海阳市| 滁州市| 长岭县| 汾阳市| 宜良县| 铅山县| 南部县| 奈曼旗| 漯河市| 沐川县| 海原县| 德安县| 墨江| 三明市| 潜山县| 斗六市| 郑州市| 刚察县| 米易县| 莆田市|