from collections import OrderedDict import pprint menu = {"about" : "about", "login" : "login", 'signup': "signup"} menu = OrderedDict(menu) pprint.pprint(menu.items()) import sys sys.exit()
输出为:
[('about', 'about'), ('signup', 'signup'), ('login', 'login')]
因此,即使使用也不保留顺序OrderedDict。我知道字典在默认情况下不会保留初始顺序,而在所有这些情况下。但是我想了解为什么OrderedDict不能正常工作。
OrderedDict
通过将项目放入(无序)dict中并从中构造OrderedDict,您已经舍弃了原始订单。从元组列表(而不是字典)构造OrderedDict。