Python 2.7 拾遗(1)
OrderedDict
Dictionary是python中十分实用的数据类型,但是字典中的item并不是按照添加的顺序排序的。
也就是说,在我们创建一个字典以后,字典中item的顺序是自动根据key来调整的。
dic = {}
dic["Alice"] = 11
dic["Cindy"] = 11
dic["Bob"] = 11
print dic
# 结果为{'Bob': 11, 'Alice': 11, 'Cindy': 11}
由上述示例可见,虽然‘Bob’:11是最后被插入的,但它却排在字典的第一个,甚至在‘Alice’前,这是为什么呢?目前我也不知道。
要实现按插入顺序的字典我们可以用OrderedDict
import collections
dic = collections.OrderedDict()
dic['Alice'] = 11
dic['Cindy'] = 11
dic['Bob'] = 11
print dic
# 结果是 OrderedDict([('Alice', 11), ('Cindy', 11), ('Bob', 11)])