Pythonの辞書配列に追加されてるkeyの並び順を保つ
Category : Python
Python3の辞書はそのままだとkeyの順序が記憶されません。 そのため、順序を固定したい場合は標準ライブラリのcollections.OrderedDictを使う必要があります。
固定しなかった場合
fruits = {}fruits["mango"] = 500fruits["strawberry"] = 250fruits["grape"] = 300fruits["orange"] = 100fruits["plum"] = 150print(fruits)
結果
{'strawberry': 250, 'mango': 500, 'plum': 150, 'orange': 100, 'grape': 300}
固定した場合
from collections import OrderedDictfruits = OrderedDict()fruits["mango"] = 500fruits["strawberry"] = 250fruits["grape"] = 300fruits["orange"] = 100fruits["plum"] = 150print(fruits)
結果
OrderedDict([('mango', 500), ('strawberry', 250), ('grape', 300), ('orange', 100), ('plum', 150)])
出力された時の表記は異なりますが、fruits.keys()やfruits.values()などは問題なく実行できます。