Python を使用して辞書を並べ替える方法
Python の辞書は順序付けされていないデータ構造です。ただし、キーによる辞書のソートが必要な場合もあります。
入力例:
{2:3, 1:89, 4:5, 3:0}
必要な出力:
{1:89, 2:3, 3:0, 4:5}
標準 Python辞書
標準の Python 辞書は、Python バージョン 3.7 以降でのみキーの順序を維持します。バージョン 3.7 より前では、これらの辞書はソートされたペアの順序を保持しないため、sorted(d.items()) 関数を使用しても望ましい結果は得られません。
OrderedDict
Python 3.7 より前のバージョンの場合、解決策はcollections モジュールの OrderedDict クラス。このクラスは、キーと値のペアを挿入された順序で保存し、一貫した順序を保証します。
import collections d = {2:3, 1:89, 4:5, 3:0} # Create an OrderedDict from sorted key-value pairs od = collections.OrderedDict(sorted(d.items())) print(od)
出力:
OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
Python 3
Python バージョン 3 以降の場合、.items() メソッドは次のようになります。 .iteritems()の代わりに使用されます:
for k, v in od.items(): print(k, v)
出力:
1 89 2 3 3 0 4 5
以上がPython 辞書をキーでソートするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。