Pythonの辞書(dict型オブジェクト)は要素の順番を保持しない。CPythonは3.6から順番を保持しているが、実装依存なのでそのほかの実装では不定。3.7から言語仕様で順番を保持するようになる(らしい)。 標準ライブラリのcollectionsモジュールに順番が保持された辞書としてOrderedDictが用意されている。こちらを使っておけば安心。 8.3. collections OrderedDict — コンテナデータ型 — Python 3.6.5 ドキュメント collectionsモジュールをインポートする。標準ライブラリに含まれているのでインストールする必要はない。
![Pythonの順序付き辞書OrderedDictの使い方 | note.nkmk.me](https://cdn-ak-scissors.b.st-hatena.com/image/square/0e2c4c386aa67ea087bf18072fcf1f476050c7a6/height=288;version=1;width=512/https%3A%2F%2Fi.gyazo.com%2F5d1b2ab5838e5191e136bb27094da555.png)