有序字典OrderedDict

实现是由python实现

from collections import OrderedDict

我们在命名元组那节知道可以使用_asdict将元组转化为有序字典

order_dict = OrderedDict()

order_dict["a"] = "hong"
order_dict["b"] = "shao"
order_dict["c"] = "rou"

# print(order_dict)
# OrderedDict([('a', 'hong'), ('b', 'shao'), ('c', 'rou')])

注意一点,在Python3下默认dict是有序的,这里的有序不是大小排序,是按照插入字典的顺序,而在Python2下则默认是无序的,想要保持有序需要使用OrderedDict

使用popitem可以将最后的键值对抛出

# print(order_dict.popitem())
# ('c', 'rou')

使用pop可以抛出指定元素

# print(order_dict.pop("b"))
# shao

使用move_to_end可以将指定元素移动到最后

order_dict.move_to_end("b")

print(order_dict)
OrderedDict([('a', 'hong'), ('c', 'rou'), ('b', 'shao')])

具体实现原理可以查看源码

你可能感兴趣的:(有序字典OrderedDict)