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

python模塊簡介之有序字典(OrderedDict)

 更新時(shí)間:2016年12月01日 08:35:28   作者:linuxidc  
字典是Python開發(fā)中很常用的一種數(shù)據(jù)結(jié)構(gòu),但dict有個(gè)缺陷(其實(shí)也不算缺陷),迭代時(shí)并不是按照元素添加的順序進(jìn)行,可能在某些場景下,不能滿足我們的要求。

有序字典-OrderedDict簡介

示例

有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會(huì)以任意的順序迭代的。參見下面的例子:

import collections

print 'Regular dictionary:'
d = {}
d['a'] = 'A'
d['b'] = 'B'
d['c'] = 'C'
d['d'] = 'D'
d['e'] = 'E'

for k, v in d.items():
  print k, v

print '\nOrderedDict:'
d = collections.OrderedDict()
d['a'] = 'A'
d['b'] = 'B'
d['c'] = 'C'
d['d'] = 'D'
d['e'] = 'E'

for k, v in d.items():
  print k, v

運(yùn)行結(jié)果如下:

-> python test7.py
Regular dictionary:
a A
c C
b B
e E
d D

OrderedDict:
a A
b B
c C
d D
e E

可以看到通常字典不是以插入順序遍歷的。

相等性

判斷兩個(gè)有序字段是否相等(==)需要考慮元素插入的順序是否相等

import collections

print 'dict    :',
d1 = {}
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['d'] = 'D'
d1['e'] = 'E'

d2 = {}
d2['e'] = 'E'
d2['d'] = 'D'
d2['c'] = 'C'
d2['b'] = 'B'
d2['a'] = 'A'

print d1 == d2

print 'OrderedDict:',

d1 = collections.OrderedDict()
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['d'] = 'D'
d1['e'] = 'E'

d2 = collections.OrderedDict()
d2['e'] = 'E'
d2['d'] = 'D'
d2['c'] = 'C'
d2['b'] = 'B'
d2['a'] = 'A'

print d1 == d2

運(yùn)行結(jié)果如下:

-> python test7.py
dict    : True
OrderedDict: False

而當(dāng)判斷一個(gè)有序字典和其它普通字典是否相等只需判斷內(nèi)容是否相等。

注意

OrderedDict 的構(gòu)造器或者 update() 方法雖然接受關(guān)鍵字參數(shù),但因?yàn)閜ython的函數(shù)調(diào)用會(huì)使用無序的字典來傳遞參數(shù),所以關(guān)鍵字參數(shù)的順序會(huì)丟失,所以創(chuàng)造出來的有序字典不能保證其順序。

參考資料

https://docs.python.org/2/library/collections.html#collections.OrderedDict
https://pymotw.com/2/collections/ordereddict.html

相關(guān)文章

  • 基于Django集成CAS實(shí)現(xiàn)流程詳解

    基于Django集成CAS實(shí)現(xiàn)流程詳解

    這篇文章主要介紹了基于Django集成CAS實(shí)現(xiàn)流程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 使用Python開發(fā)windows GUI程序入門實(shí)例

    使用Python開發(fā)windows GUI程序入門實(shí)例

    這篇文章主要介紹了使用Python開發(fā)windows GUI程序入門實(shí)例,本文著重介紹開發(fā)環(huán)境必須的軟件,代碼實(shí)現(xiàn)相對(duì)簡單,需要的朋友可以參考下
    2014-10-10
  • Python的Geopy庫處理地理編碼與位置信息

    Python的Geopy庫處理地理編碼與位置信息

    地理編碼和位置信息在現(xiàn)代應(yīng)用中扮演著重要角色,本文主要介紹了Python的Geopy庫處理地理編碼與位置信息,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • 在Django的視圖中使用數(shù)據(jù)庫查詢的方法

    在Django的視圖中使用數(shù)據(jù)庫查詢的方法

    這篇文章主要介紹了在Django的視圖中使用數(shù)據(jù)庫查詢的方法,是Python的Django框架使用的基礎(chǔ)操作,需要的朋友可以參考下
    2015-07-07
  • Python 、Pycharm、Anaconda三者的區(qū)別與聯(lián)系、安裝過程及注意事項(xiàng)

    Python 、Pycharm、Anaconda三者的區(qū)別與聯(lián)系、安裝過程及注意事項(xiàng)

    這篇文章主要介紹了Python,Pycharm,Anaconda三者的區(qū)別與聯(lián)系、安裝過程及其注意事項(xiàng),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • python偏函數(shù)partial用法

    python偏函數(shù)partial用法

    這篇文章要給大家分享得是python偏函數(shù)partial用法,主要介紹什么是偏函數(shù)partial、偏函數(shù)的作用、偏函數(shù)的語法及案例詳情,需要的朋友可以參考一下文章得具體詳解,希望對(duì)你有所幫助
    2021-10-10
  • python 使用fileinput讀取文件

    python 使用fileinput讀取文件

    這篇文章主要介紹了python 使用fileinput讀取文件,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • 在Python中marshal對(duì)象序列化的相關(guān)知識(shí)

    在Python中marshal對(duì)象序列化的相關(guān)知識(shí)

    這篇文章主要介紹了在Python中marshal對(duì)象序列化的相關(guān)知識(shí),是Python進(jìn)階學(xué)習(xí)中序列化相關(guān)的知識(shí),需要的朋友可以參考下
    2015-07-07
  • 好的Python培訓(xùn)機(jī)構(gòu)應(yīng)該具備哪些條件

    好的Python培訓(xùn)機(jī)構(gòu)應(yīng)該具備哪些條件

    python是現(xiàn)在開發(fā)的熱潮,大家應(yīng)該如何學(xué)習(xí)呢?許多人選擇自學(xué),還有人會(huì)選擇去培訓(xùn)結(jié)構(gòu)學(xué)習(xí),那么好的培訓(xùn)機(jī)構(gòu)的標(biāo)準(zhǔn)是什么樣的呢?下面跟隨腳本之家小編一起通過本文學(xué)習(xí)吧
    2018-05-05
  • python利用joblib進(jìn)行并行數(shù)據(jù)處理的代碼示例

    python利用joblib進(jìn)行并行數(shù)據(jù)處理的代碼示例

    在數(shù)據(jù)量比較大的情況下,數(shù)據(jù)預(yù)處理有時(shí)候會(huì)非常耗費(fèi)時(shí)間,可以利用 joblib 中的 Parallel 和 delayed 進(jìn)行多CPU并行處理,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

泰安市| 蒙城县| 万安县| 三台县| 长治县| 吉木乃县| 宜都市| 平安县| 唐河县| 玉树县| 康平县| 德令哈市| 海门市| 芷江| 石楼县| 乌兰浩特市| 襄汾县| 曲靖市| 屯昌县| 丽江市| 始兴县| 张家界市| 临猗县| 扬中市| 麟游县| 乐至县| 通化县| 东莞市| 台前县| 都昌县| 八宿县| 上饶市| 吴旗县| 新泰市| 师宗县| 博湖县| 信阳市| 德阳市| 沧源| 红原县| 晋宁县|