ホームページ >バックエンド開発 >Python チュートリアル >Python 辞書からソートされ順序付けされたコレクションを作成するにはどうすればよいですか?
キーによる辞書のソート: 順序付きコレクションの取得
Python 3.7 を導入しない限り、Python の辞書の本質的な性質は順序付けされていません。 (キー、値) ペアを並べ替えることが解決策のように見えるかもしれませんが、要素を辞書に格納する際に並べ替えられた順序を維持することは実現不可能であることを認識することが重要です。
以下に基づいて順序付けされたコレクションをシームレスに確立するにはキーの値を考慮する場合、最適なアプローチとしては 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 を反復処理する場合は、.iteritems() の代わりに .items() メソッドを使用します:
for k, v in od.items(): print(k, v) # 1 89, 2 3, 3 0, 4 5
以上がPython 辞書からソートされ順序付けされたコレクションを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。