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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-29 09:00:12370ブラウズ

How Do You Preserve Key Order in Python Dictionaries?

Python 辞書でのキーの順序の保持

古いバージョンの Python では、辞書内のキーの順序が予測できないことがよくありました。これにより、データにアクセスするときに混乱や結果の一貫性がなくなる可能性があります。

辞書キーの順序の決定方法

Python 3.6 より前では、辞書内のキーの順序は次のとおりでした。キーのハッシュ値によって決定されます。これは、値が同じであっても、キーの順序が時間の経過とともに変更される可能性があることを意味しました。たとえば、指定したコード ブロックでは:

d = {'a': 0, 'b': 1, 'c': 2}
l = d.keys()

print(l)

結果のリスト l 内のキーの順序は ['a', 'c', 'b'] です。この順序は保証されておらず、今後のループの繰り返しで変更される可能性があります。

キーの順序の強制

キーの順序が確実に維持されるようにするには、いくつかの方法があります。使用できます:

Python 3.7 および上記

Python 3.7 以降、辞書はデフォルトで挿入順序を維持します。これは、保存されているキーの順序を信頼できることを意味します。

Python 3.6 (CPython)

Python 3.6 の CPython 実装の場合、辞書はまた、デフォルトの広告掲載オーダー。ただし、この動作は実装固有であり、異なる Python 実装間で保証されるわけではありません。

Python 2.7 以前

3.6 より前の Python バージョンでキーの順序を強制するにはでは、collections.OrderedDict クラスを使用できます。このクラスは、キーが挿入されたときにキーの順序を特に保持します:

from collections import OrderedDict

d = OrderedDict({'a': 0, 'b': 1, 'c': 2})
print(list(d.keys()))  # Output: ['a', 'b', 'c']

以上がPython 辞書でキーの順序を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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