ホームページ  >  記事  >  バックエンド開発  >  Python の辞書は順序付けされていますか?

Python の辞書は順序付けされていますか?

silencement
silencementオリジナル
2019-06-12 15:11:239359ブラウズ

Python の辞書は順序付けされていますか?

辞書の乱れとは、辞書にデータが格納される順序と、辞書からデータが取り出される順序が一致しないことを意味します。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。