释义
Python中的字典对象可以以“键:值”的方式存取数据。
OrderedDict是它的一个子类,实现了对字典对象中元素的排序。
from collections import OrderedDict
dic = OrderedDict()
dic['a'] = 'A'
dic['b'] = 'B'
dic['c'] = 'C'
print(dic) # OrderedDict([('a', 'A'), ('b', 'B'), ('c', 'C')])
dic1 = {'a': 'A', 'b': 'B', 'c': 'C'}
print(dic1) #{'a': 'A', 'c': 'C', 'b': 'B'}
from collections import OrderedDict
dic = OrderedDict()
dic['a'] = 'A'
dic['b'] = 'B'
dic['c'] = 'C'
print(dic) # OrderedDict([('a', 'A'), ('b', 'B'), ('c', 'C')])
dic1 = {'a': 'A', 'b': 'B', 'c': 'C'}
print(dic1) #{'a': 'A', 'b': 'B', 'c': 'C'}
- python2 与python3 输出不一样
- 同样是保存了三个元素,但是使用OrderedDict会根据放入元素的先后顺序进行排序。由于进行了排序,所以OrderedDict对象的字典对象,如果其顺序不同那么Python也会把他们当做是两个不同的对象.
from collections import OrderedDict
ord_dic = OrderedDict()
ord_dic['a'] = 'A'
ord_dic['b'] = 'B'
ord_dic['c'] = 'C'
ord_dic_1 = OrderedDict()
ord_dic_1['a'] = 'A'
ord_dic_1['c'] = 'C'
ord_dic_1['b'] = 'B'
print(ord_dic == ord_dic_1) # False
dic1 = {'a': 'A', 'b': 'B', 'c': 'C'}
dic2 = {'b': 'B', 'a': 'A', 'c': 'C'}
print(dic1 == dic2) # True