python自带的collections包中有很多有用的数据结构可供使用,其中有个叫OrderedDict类,它可以在使用的时候记录元素插入顺序,在遍历使用的时候就可以按照原顺序遍历。
a = {
"a":1,
"b":2,
"c":3,
"d":4
}
for k,v in a.items():
print(k,v)
普通的字典是hash表结构,遍历时没有顺序。
import collections
doc = collections.OrderedDict()
doc['1'] = '1'
doc['2'] = '2'
doc['3'] = '3'
print(doc)
#输出:OrderedDict([('1', '1'), ('2', '2'), ('3', '3')])
如果有一个现成的书写顺序的dict需要有序的话,建议使用元组list,可以保证书写顺序。
OrderedDict([('a', 1), ('c', 3), ('b', 2), ('d', 4)]) # 可以保持书写顺序。