3.7 より前の Python バージョンでkeys() メソッドを使用して辞書のキーを取得する場合、返されるリスト内のキーは任意に見える可能性があります。この予測不可能性は、Python が以前のバージョンで辞書を処理した方法に起因しています。
Python 3.7 以降、辞書はデフォルトで挿入順序を維持します。これは、keys() 出力リスト内のキーが辞書に挿入された順序と一致することを意味します。
Python 3.6 (特に CPython 実装) )、辞書もデフォルトで挿入オーダーを保存します。ただし、これは実装の詳細とみなされ、さまざまな Python 実装間での信頼性は保証されません。
Python のバージョン 2.7 から 3.6 の場合、 Keys() リスト内のキーの順序はハッシュ関数によって決定されます。このハッシュ関数は安定していることが保証されていないため、同じ入力データであってもキーの順序が実行ごとに異なる場合があります。
これらの以前のバージョンの Python で挿入順序を保証するには、コレクションを使用する必要があります。 OrderedDict クラス。このクラスは、キーが挿入された順序で取得されることを保証します:
import collections d = collections.OrderedDict({'a': 0, 'b': 1, 'c': 2}) l = d.keys() print(l) # Output: ['a', 'b', 'c']
以上が3.7 より前のバージョンでは、Python は辞書キーの順序をどのように処理していましたか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。