美文网首页
有序字典OrderedDict

有序字典OrderedDict

作者: 码农小杨 | 来源:发表于2018-01-19 12:00 被阅读0次

    实现是由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

          本文链接:https://www.haomeiwen.com/subject/yesooxtx.html