ホームページ >バックエンド開発 >Python チュートリアル >Python でソートするときに辞書キーの順序を維持するにはどうすればよいですか?

Python でソートするときに辞書キーの順序を維持するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-04 22:12:43950ブラウズ

How Can I Maintain Dictionary Key Order When Sorting in Python?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。