大马强 发表于 2022-1-18 12:12:03

cookbook 1.7


让字典保持有序
问题描述:
        创建一个字典,同时当对字典做迭代或者序列化操作时,也能控制其中元素的顺序

借用 coollections 库的 OrderedDict实现
OrderedDict内部维护一个双向的链表,大小也是普通字典的两倍多,新加的数据放在最后,对已存在的键的赋值不改变顺序,只做覆盖
d = OrderedDict()
d["foo"] = 1
d["goo"] = 2
d["hoo"] = 4
d["joo"] = 3
d["hoo"] = 5# 对于存在的只会重新赋值,不会改变顺序


for key in d:
    print(key, d)

foo 1
goo 2
hoo 5
joo 3


页: [1]
查看完整版本: cookbook 1.7