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

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

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

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

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

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

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

當想構建一個映射結構以便稍后對其做序列化或編碼成另一種格式時,OrderedDict就顯得特別有用。

例如:若想在進行JSON編碼時精確控制各字段的順序,那么只要首先在OrderedDict中構建數(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}'
>>>

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

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

(代碼摘自《Python Cookbook》)

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

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

相關文章

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

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

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

    Python檢驗用戶輸入密碼的復雜度

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

    Python PyQt5整理介紹

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

    python 基于opencv操作攝像頭

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

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

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

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

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

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

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

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

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

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

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

    Python Beautiful Soup模塊使用教程詳解

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

最新評論

辽宁省| 天水市| 六盘水市| 凤翔县| 长乐市| 江达县| 汝城县| 汽车| 稷山县| 弋阳县| 遂宁市| 吴堡县| 浑源县| 衡东县| 临澧县| 邹平县| 宣城市| 沛县| 瑞安市| 忻州市| 武山县| 措勤县| 绥江县| 富平县| 莱芜市| 内乡县| 扎兰屯市| 三都| 丹凤县| 阜南县| 涿鹿县| 双牌县| 广灵县| 株洲县| 沧源| 喜德县| 土默特右旗| 孝义市| 清新县| 崇文区| 德阳市|