python中实现有序字典

发布时间:2019-09-07 08:11:32编辑:auto阅读(1708)

      我们应该会在实际使用中发现python的字典是无序的,譬如说这样

    >>> a = {'key1':'a','key2':'b','key3':'c','key4':'d','key5':'e'}
    >>> a
    {'key3': 'c', 'key2': 'b', 'key1': 'a', 'key5': 'e', 'key4': 'd'}
    >>>

      那如何生成一个有序的字典呢,可以使用collections模块中的OrderdDict类,可以这样

    >>> from collections import OrderedDict
    >>> a = OrderedDict()
    >>> a['key1'] = 'a'
    >>> a['key2'] = 'b' 
    >>> a['key3'] = 'c'  
    >>> a['key4'] = 'd' 
    >>> a['key5'] = 'e' 
    >>> a
    OrderedDict([('key1', 'a'), ('key2', 'b'), ('key3', 'c'), ('key4', 'd'), ('key5', 'e')])

      因为OrderdDict比普通的字典要大,如果要设计大量的OrderdDict的数据结构时,会额外消耗系统资源,所以使用前需要斟酌。

关键字