辞書の乱れとは、辞書にデータが格納される順序と、辞書からデータが取り出される順序が一致しないことを意味します。
Python2 の辞書は乱雑です>>> d = {'a':-1,'b':-1,'c':-1}>>> d
{'a': -1, 'c': -1, 'b': -1}>>> for k,v in d.items():
... print k,v
...
a -1c -1b -1
では、辞書を整理するにはどうすればよいでしょうか? OrderedDict の使用
>>> from collections import OrderedDict >>> d = OrderedDict() >>> d['a'] = 1 >>> d['b'] = 2 >>> d['c'] = 3 >>> d OrderedDict([('a', 1), ('b', 2), ('c', 3)]) >>> for k,v in d.items(): ... print k,v ... a 1 b 2 c 3
なぜ順序付けされていないのですか?ハッシュ構造には先頭アドレスがあり、内部のデータは異なるリストチェーンに分散しているため、順序が無いように見えますが、同じ辞書セットであれば必ず接続する識別子があるため、読み込む際には、データは順番に取得されますが、特定のルールに従って配置されません。
Python3 の辞書は順序付けされます>>> d = {'a':-1,'b':-1,'c':-1}
>>> d
{'a': -1, 'b': -1, 'c': -1}
>>> for k,v in d.items():
... print(k,v)
...
a -1
b -1
c -1
以上がPython の辞書は順序付けされていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。