首頁 >後端開發 >Python教學 >如何從 Python 字典創建有序的集合?

如何從 Python 字典創建有序的集合?

Barbara Streisand
Barbara Streisand原創
2024-12-28 22:28:16722瀏覽

How Can I Create a Sorted, Ordered Collection from a Python Dictionary?

按鍵對字典排序:取得有序集合

Python 字典的本質是無序的,除非引入 Python 3.7。雖然對(鍵,值)對進行排序可能會作為解決方案,但重要的是要承認,在將元素儲存回字典時保留排序順序是不可行的。

無縫地建立基於鍵值,使用 OrderedDict 類別是最佳方法。這類具有保留其元素插入順序的獨特能力:

import collections

d = {2: 3, 1: 89, 4: 5, 3: 0}

# Construct an OrderedDict from sorted key-value pairs
od = collections.OrderedDict(sorted(d.items()))

print(od)  # OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])

儘管od 的列印表示可能有所不同,但它將在後續互動過程中保持所需的順序:

print(od[1])  # 89
print(od[3])  # 0

for k, v in od.items():
    print(k, v)  # 1 89, 2 3, 3 0, 4 5

Python 3 使用者的注意事項

Python 3 使用者應該使用迭代OrderedDict 時使用 .items() 方法而不是 .iteritems() 來保持相容性:

for k, v in od.items():
    print(k, v)  # 1 89, 2 3, 3 0, 4 5

以上是如何從 Python 字典創建有序的集合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn