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

Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)讓字典保持有序的方法

 更新時間:2018年02月18日 08:29:38   作者:壟上行  
這篇文章主要介紹了Python讓字典保持有序的方法,涉及Python基于collections模塊中的OrderedDict類實(shí)現(xiàn)控制字典順序的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python讓字典保持有序的方法。分享給大家供大家參考,具體如下:

問題:創(chuàng)建一個字典,同時對字典做迭代或序列化操作時,也能控制其中元素的順序;

解決方案:可以使用collections模塊中的OrderedDict類來控制字典中元素的順序。當(dāng)對字典做迭代時,他會嚴(yán)格按照元素初始添加的順序進(jìn)行。例如:

from collections import OrderedDict
d=OrderedDict()
d['foo']=1
d['bar']=2
d['spam']=3
d['grok']=4
for key in d:
  print(key,d[key])

Python 3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:24:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
foo 1
bar 2
spam 3
grok 4
>>> 

當(dāng)想構(gòu)建一個映射結(jié)構(gòu)以便稍后對其做序列化或編碼成另一種格式時,OrderedDict就顯得特別有用。

例如:若想在進(jìn)行JSON編碼時精確控制各字段的順序,那么只要首先在OrderedDict中構(gòu)建數(shù)據(jù)就可以了。

>>> import json
>>> d
OrderedDict([('foo', 1), ('bar', 2), ('spam', 3), ('grok', 4)])
>>> json.dumps(d)
'{"foo": 1, "bar": 2, "spam": 3, "grok": 4}'
>>>

補(bǔ)充:OrderedDict內(nèi)部維護(hù)了一個雙向鏈表,它會根據(jù)元素加入的順序排列鍵的位置。第一個新加入的元素被放置在鏈表的末尾,接下來對已存在的鍵做重新賦值不會改變鍵的順序。

注意:OrderedDict的大小是普通字典的2倍,這是它額外創(chuàng)建的鏈表所致。所以在構(gòu)建涉及大量數(shù)據(jù)的結(jié)構(gòu)時要權(quán)衡其帶來的好處與消耗的內(nèi)存。

(代碼摘自《Python Cookbook》)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python創(chuàng)建和刪除目錄的方法

    python創(chuàng)建和刪除目錄的方法

    這篇文章主要介紹了python創(chuàng)建和刪除目錄的方法,涉及Python操作目錄的相關(guān)技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • Python檢驗用戶輸入密碼的復(fù)雜度

    Python檢驗用戶輸入密碼的復(fù)雜度

    這篇文章主要介紹了Python檢驗用戶輸入密碼的復(fù)雜度,在用戶設(shè)置密碼的時候檢測輸入的密碼大小寫數(shù)字等,需要的朋友可以參考下
    2023-04-04
  • Python PyQt5整理介紹

    Python PyQt5整理介紹

    PyQt5 是Digia的一套Qt5應(yīng)用框架與python的結(jié)合,同時支持2.x和3.x。這篇文章給大家整理了關(guān)于Python PyQt5的相關(guān)知識,感興趣的朋友一起看看吧
    2020-04-04
  • python 基于opencv操作攝像頭

    python 基于opencv操作攝像頭

    這篇文章主要介紹了python 基于opencv操作攝像頭的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • 推薦五個常用的python圖像處理庫

    推薦五個常用的python圖像處理庫

    這篇文章主要介紹了推薦五個常用的python圖像處理庫,文章基于python的相關(guān)內(nèi)容分享圖像處理庫,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • python實(shí)現(xiàn)圖片壓縮代碼實(shí)例

    python實(shí)現(xiàn)圖片壓縮代碼實(shí)例

    這篇文章主要介紹了python實(shí)現(xiàn)圖片壓縮代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 利用python檢查磁盤空間使用情況的代碼實(shí)現(xiàn)

    利用python檢查磁盤空間使用情況的代碼實(shí)現(xiàn)

    本文將向讀者展示如何利用Python編寫自動化腳本,以檢查磁盤空間使用情況,無論你是經(jīng)驗豐富的系統(tǒng)管理員,還是對Python自動化充滿興趣的開發(fā)者,本文都將為你提供實(shí)用的腳本示例和詳細(xì)的解析步驟,幫助你快速掌握磁盤空間監(jiān)控的自動化方法,需要的朋友可以參考下
    2024-08-08
  • python郵件發(fā)送smtplib使用詳解

    python郵件發(fā)送smtplib使用詳解

    這篇文章主要為大家詳細(xì)介紹了python郵件發(fā)送smtplib的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python?PyQt5?開啟線程防止界面卡死閃退問題解決

    Python?PyQt5?開啟線程防止界面卡死閃退問題解決

    這篇文章主要介紹了Python?PyQt5?開啟線程避免界面卡死閃退,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Python Beautiful Soup模塊使用教程詳解

    Python Beautiful Soup模塊使用教程詳解

    Beautiful Soup 簡稱 BS4(其中 4 表示版本號)是一個 Python 中常用的頁面解析庫,它可以從 HTML 或 XML 文檔中快速地提取指定的數(shù)據(jù),這篇文章主要介紹了Python Beautiful Soup模塊的使用
    2023-02-02

最新評論

塘沽区| 肥城市| 门头沟区| 巴林左旗| 盐池县| 汾阳市| 南丹县| 汉川市| 屏东市| 中西区| 防城港市| 宁津县| 灵武市| 张北县| 上杭县| 莒南县| 惠水县| 凤山县| 浪卡子县| 福贡县| 万荣县| 郧西县| 章丘市| 泊头市| 博野县| 中阳县| 漳州市| 天等县| 碌曲县| 哈巴河县| 密云县| 兴安县| 内黄县| 建水县| 亳州市| 平乐县| 舞阳县| 新宾| 西盟| 长岛县| 辽源市|