collections
模块中的 OrderedDict
类,在字典迭代时其会保持元素被添加时的顺序。由于OrderedDict
内部维护着一个根据键添加顺序的双向链表,每添加一个新元素时元素就会被放在链表尾部。对于已存在的键重复赋值不会改变键的顺序。值得注意的是,**OrderedDict**
的大小是普通字典的两倍。
from collections import OrderedDict
dic = OrderedDict()
dic["a"] = 3
dic["b"] = 2
dic["c"] = 1
for _, value in dic.items():
print(value) # 按照3、2、1输出