python中实现有序字典

2020-01-07 20:07:09 浏览数 (2)

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

代码语言:javascript复制
>>> a = {'key1':'a','key2':'b','key3':'c','key4':'d','key5':'e'}
>>> a
{'key3': 'c', 'key2': 'b', 'key1': 'a', 'key5': 'e', 'key4': 'd'}
>>>

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

代码语言:javascript复制
>>> 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的数据结构时,会额外消耗系统资源,所以使用前需要斟酌。

0 人点赞