Python 辞書の順序を理解する

WBOY
WBOY転載
2024-02-09 20:42:04594ブラウズ

Python 辞書の順序を理解する

質問の内容

Python (v3.5) の辞書がどのようにソートされているかを誰かが説明できますか?

リーリー

実際の出力:

リーリー

期待される出力 (辞書順):

data = {"john": 23, "rick": 33, "mary": 63, "ron": 23, "joel": 51}

for key in data:
        print("your name is " + key + ", and you are also " + str(data[key]) + " years old.")

正解


これは、使用している Python のバージョンによって異なります。

Python 3.6以前

辞書は、基礎となるハッシュ関数を使用してソートされます。いくつかの型にはソルト付きハッシュがあるため、呼び出しごとに異なる順序が得られることになります。

Python 3.6

辞書は挿入順に配置されます。つまり、辞書は項目が挿入される順序を記憶します。 ドキュメントより:

Python 3.7

Guido van Rossum は、Python 3.7 以降、すべての Python 実装で挿入順序 を保持する必要があると で発表しました。

以上がPython 辞書の順序を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。