编程语言
首页 > 编程语言> > python – OrderedDict不保留顺序

python – OrderedDict不保留顺序

作者:互联网

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无法正常工作的原因.

解决方法:

通过将项目放入(非有序)dict并从中构造OrderedDict,您已经丢弃了原始订单.从元组列表构造OrderedDict,而不是dict.

标签:python,dictionary,ordereddictionary
来源: https://codeday.me/bug/20190717/1490413.html