您好,登錄后才能下訂單哦!
有序字典就像普通字典一樣,但他們記住了項目插入的順序。 在迭代有序字典時,將按照首次添加鍵的順序返回項目。
用法:
class collections.OrderedDict([items])
返回一個字典子類的實例,支持通常的字典方法。
OrderedDict是一個字典,它記住了鍵被首次插入的順序。
如果新條目覆蓋現有條目,則原始插入位置保持不變。
刪除一個條目并重新插入它將會把它移到最后。
popitem(last=True)
有序字典的popitem()方法返回并刪除(key, value)對。
如果 last 是 True 或者如果 FIFO(先進先出) 的順序為false,則按LIFO(后進先出)順序返回鍵值對。
如果last是True,則以LIFO[后進先出]的順序返回,如果為Flase,則以FIFO[先進先出]順序返回。
move_to_end(key, last=True)
將現有鍵移至有序字典的任意一端。 如果last為True(默認值),則項目移動到右側,如果last為false,則移動到開頭。
如果key不存在,則引發KeyError:
除了通常的映射方法外,有序字典還支持reverse()方法進行反向迭代。
OrderedDict對象之間的等式測試是順序敏感的,并且以 list(od1.items()) == list(od2.items()) 的形式實現。
OrderedDict對象與其他映射(Mapping)對象之間的等式測試對常規字典對順序不敏感。
這允許在使用常規字典的任何地方替換OrderedDict對象。
版本3.5中更改:OrderedDict的項目,鍵和值視圖現在支持使用reversed()進行反向迭代。
在版本3.6中更改:隨著PEP 468的接受,保留傳遞給OrderedDict構造函數和update()方法的關鍵字參數的順序。
OrderedDict Examples and Recipes(OrderedDict示例和食譜)
由于有序字典會記住它的插入順序,因此它可以與排序結合使用以創建一個排序后的字典:
刪除條目時,新排序的字典會保持其排序順序。 但是,當添加新的密鑰時,密鑰被追加到最后,并且不會保留排序。
創建一個有序的字典變體也很簡單,可以記住上一次插入秘鑰的順序。如果新條目覆蓋現有條目,則會更改原始插入位置并移至結尾:
有序字典可以與Counter類組合使用,以便計數器記住第一次遇到的順序元素:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。