Python での辞書の順序の保持
Python の辞書は本質的に順序付けされていないため、キーを並べ替えるのが困難です。この記事では、辞書をキーで並べ替える方法について説明します。
標準辞書
標準 Python 辞書は、(キー、値) ペアの特定の順序を維持しません。 paris をソートすると、辞書の予測できない順序が変更されます。
OrderedDict: 解決策
dict のサブクラスである OrderedDict クラスがこの問題に対処します。要素の挿入順序を記憶し、並べ替え後もキーの順序が維持されるようにします。
import collections # Sample dictionary d = {2: 3, 1: 89, 4: 5, 3: 0} # Create an OrderedDict with sorted keys od = collections.OrderedDict(sorted(d.items())) # Print the sorted OrderedDict print(od)
出力:
OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
値へのアクセス
ソートされたキーにもかかわらず、OrderedDict は値に対して予期される動作を保持します。 access.
print(od[1]) # Prints 89 print(od[3]) # Prints 0
反復
OrderedDict を反復すると、ソートされたキーの順序が保持されます。
for k, v in od.items(): print(k, v)
出力:
1 89 2 3 3 0 4 5
Python 3
Python 3 では、項目の反復処理に更新された構文を使用します。
for k, v in od.items(): print(k, v)
以上がPython でソートするときに辞書キーの順序を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。