ホームページ >バックエンド開発 >Python チュートリアル >私の Python 辞書は順序付けされていないにもかかわらず、順序付けされているように見えるのはなぜですか?
Python での辞書の順序付け
Python 辞書は順序付けされていないはずなのに、順序付けされているように見えるのはなぜですか?
考えてみましょう次の辞書:
propertyList = { "id": "int", "name": "char(40)", "team": "int", "realOwner": "int", "x": "int", "y": "int", "description": "char(255)", "port": "bool", "secret": "bool", "dead": "bool", "nomadic": "bool", "population": "int", "slaves": "int", }
で辞書を印刷する場合"n".join(myDict)、予期しない順序が観察されます:
name nomadic dead port realOwner secret slaves team y x Population id description
Python 辞書は確かに順序付けされていませんが、同じ順序が一貫して生成されます。
基本的な実装
古いバージョンの Python では、辞書はハッシュ テーブルとして実装されていました。ハッシュ テーブルは関数を使用してキーを配列内の特定の位置にマップし、その結果、明らかに任意ですが一貫した順序が得られます。
順序付き辞書の実装
その後、Python はその改訂を行いました。挿入順序を保持するための dict 実装。この保証は、Python 3.7 以降で有効になります。したがって、辞書の実装は純粋にハッシュ テーブルに基づいていなくなりましたが、その構築には依然としてハッシュ テーブルが使用されています。
以上が私の Python 辞書は順序付けされていないにもかかわらず、順序付けされているように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。