2017-11-03 12 views
1

私はPythonでOrderedDictsについて学んでいますが、私は新しい辞書を作成するときには、とにかくその順序を保ちます。私はあなたがOrderedDictを使う必要がある理由の良い例を見つけることができないようです。PythonでOrderedDict

x = {"one":1,"two":2,"three":3} 

print(x) 

それは常に{ '1' を:1、 '2':2 '3':3}プリントアウトします:

私は私がこれを行う場合には参考のため

、私たちがなぜOrderedDictsを必要としているのか理解しようとしています。

+3

いつもそうすると思いますか? 'dict'内の注文は**保証されていません**。実際、私のシステムでは、コードは 'three'を出力し、' one'は 'two'を出力します。 –

+1

あなたのPythonバージョンは何ですか? –

+1

私はあなたが実装の詳細としてdict'オブジェクトが挿入命令を維持しているPython 3.6にいると思います。しかし、これはまだ*保証されていない*ので、メンテナンス可能なコードを書く場合は、 'OrderedDict'を使うべきです。さて、3.7が出るまでには、保証されることになる可能性が非常に高いです。その場合、 'OrderedDict'は恐らく' dict'の周りに薄いラッパーになり、下位互換性のために保持されます。 –

答えて

2

私はPythonでOrderedDictsについて学んでいますが、私は新しい辞書を作成するときには、とにかくその順序を保ちます。

これは誤ってpython 3.6の場合です。 実装の詳細です。 Dictionaries are ordered in Python 3.6+

+1

ありがとう、ありがとう。 – Redcoatwright

関連する問題