很多人认为python中的字典是无序的,因为它是按照hash来存储的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类OrderedDict,实现了对字典对象中元素的排序。请看下面的实例:1 import collections2 print "Regular dictionary"3 d={}4 d['a']='A'5 d['b']='B'6 d['c']='C'7 for k,v in d.items():8 print k,v910 print "\nOrder dictionary"11 d1 = collections.OrderedDict()12 d1['a'] = 'A'13 d1['b'] = 'B'14 d1['c'] = 'C'15 d1['1'] = '1'16 d1['2'] = '2'17 for k,v in d1.items():18 print k,v1920 输出:21 Regular dictionary22 a A23 c C24 b B2526 Order dictionary27 a A28 b B29 c C30 1 131 2 2可以看到,同样是保存了ABC等几个元素,但是使用OrderedDict会根据放入元素的先后顺序进行排序。所以输出的值是排好序的。而dict是无序的
|