`OrderedDict`和`dict`是两种字典类型,都用于存储键值对(key-value pairs)。
`dict`是Python的内置字典类型,它是无序的,即它不会按照元素插入的顺序来保存键值对。当你通过键来访问`dict`中的值时,Python会使用哈希表来定位对应的值,因此访问`dict`的元素是非常快速的。
`OrderedDict`是`collections`模块中的一个字典类型的子类。与`dict`不同,`OrderedDict`可以保持元素的插入顺序。即当你通过迭代`OrderedDict`时,元素的顺序将会按照它们插入的顺序来保持。
下面是一个示例来比较`dict`和`OrderedDict`的不同之处:
from collections import OrderedDict
# 使用dict存储键值对
d = {'b': 2, 'a': 1, 'c': 3}
for key, value in d.items():
print(key, value)
# 输出:
# b 2
# a 1
# c 3
# 使用OrderedDict存储键值对
od = OrderedDict([('b', 2), ('a', 1), ('c', 3)])
for key, value in od.items():
print(key, value)
# 输出:
# b 2
# a 1
# c 3
可以看到,在使用`dict`时,元素的顺序是无序的,而在使用`OrderedDict`时,元素的顺序是保持了插入的顺序。