摘要:有序字典簡介示例有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會以任意的順序迭代的。
有序字典-OrderedDict簡介 示例
有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會以任意的順序迭代的。參見下面的例子:
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 " OrderedDict:" 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
運行結果如下:
-> 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
可以看到通常字典不是以插入順序遍歷的。
相等性判斷兩個有序字段是否相等(==)需要考慮元素插入的順序是否相等
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
運行結果如下:
-> python test7.py dict : True OrderedDict: False
而當判斷一個有序字典和其它普通字典是否相等只需判斷內容是否相等。
注意OrderedDict 的構造器或者 update() 方法雖然接受關鍵字參數,但因為python的函數調用會使用無序的字典來傳遞參數,所以關鍵字參數的順序會丟失,所以創造出來的有序字典不能保證其順序。
參考資料https://docs.python.org/2/lib...
https://pymotw.com/2/collecti...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44298.html
摘要:并且中會顯示,的版本在中已經不再支持了。接下來再看下以上版本的效果以版本為例從上圖可以看出,在新的版本中,針對的存儲已經變為有序,在遍歷和打印的時候,會按照存儲的順序進行取值。再補充一點之前介紹到,在字典中,是唯一的。 之前寫了文章介紹python中的列表和字典,在文章中描述到了python...
摘要:表容量更新的前后,它的鍵之間的相對順序是會變化的,因此字典的元素是無序的。而且字典擴容和縮容時要按照的順序來保持字典始終有序。舊的字典總會預留大于的容量的位置,防止碰撞過多影響效率。 python3.7的字典是有序的 舊結構 python3.7之前的字典結構,經典粗暴的hash表實現方式,這樣的話每次hash表的擴容和縮容都可能導致hash值的改變。 hash表容量更新的前后,它的鍵之...
摘要:我們用函數,來簡單快捷地創建這個字典輸出結果與原先代碼一致。示例代碼如下版本為無序字典有序字典輸出的結果為無序字典有序字典默認字典是內建類的一個子類,第一個參數為屬性提供初始值,默認為。 ??字典(dict)結構是Python中常用的數據結構,筆者結合自己的實際使用經驗,對字典方面的相關知識做個小結,希望能對讀者一些啟發~ 創建字典 ??常見的字典創建方法就是先建立一個空字典,然后逐一...
摘要:上一篇文章實用技法第篇一鍵多值字典下一篇文章實用技法第篇字典上對數據執行計算求最小值最大值排序需求 上一篇文章:Python實用技法第5篇:一鍵多值字典下一篇文章:Python實用技法第7篇:字典上對數據執行計算:求最小值、最大值、排序 1、需求
閱讀 2027·2023-04-26 01:33
閱讀 1659·2023-04-26 00:52
閱讀 1035·2021-11-18 13:14
閱讀 5393·2021-09-26 10:18
閱讀 2901·2021-09-22 15:52
閱讀 1488·2019-08-29 17:15
閱讀 3016·2019-08-29 16:11
閱讀 1038·2019-08-29 16:11