实现是由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')])
具体实现原理可以查看源码
网友评论