1. OrderedDict 有序字典
OrderedDict是dict的子类,它记住了内容添加的顺序。而普通字典是无序的。
普通字典
>>> import collections >>> d=dict() >>> d['a']='A' >>> d['b']='B' >>> d['c']='C' >>> for k,v in d.items(): print k,v a A c C b B有序字典
>>> import collections >>> d=collections.OrderedDict() >>> d['a']='A' >>> d['b']='B' >>> d['c']='C' >>> d OrderedDict([('a', 'A'), ('b', 'B'), ('c', 'C')]) >>> for k,v in d.items(): print k,v a A b B c C
注意:顺序以添加顺序为准,和修改的顺序无关。
特殊方法:OrderedDict.popitem(last=True) 。last为True是LIFO,即为堆栈,反之是FIFO,即为队列。还支持排序:reversed()。
比较:有序字典和有序字典的相等比较,是顺序相关的;和其他映射类型比较,是顺序无关的。
http://www.oschina.net/question/565065_138898
2. 嵌套字典
>>> a = dict() >>> a['b'] = {'c': 2} >>> a['b']['c'] 2