collections.OrderedDict 是 Python 标准库中的一个数据类型,它是一个有序字典(Ordered Dictionary)。它与普通字典(dict)相似,但具有保持插入顺序的特性。
在普通字典中,元素的顺序是不确定的,而在 OrderedDict 中,元素的顺序与它们被插入字典的顺序相同。这意味着当遍历 OrderedDict 时,元素的顺序是可以预测的。
from collections import OrderedDict
# 创建一个有序字典
ordered_dict = OrderedDict()
# 添加元素
ordered_dict['one'] = 1
ordered_dict['two'] = 2
ordered_dict['three'] = 3
或:
# 创建一个有序字典
ordered_dict = OrderedDict([('one', 1), ('two', 2), ('three', 3)])
# 删除键为 'two' 的元素
removed_value = ordered_dict.pop('two')
如果尝试删除一个不存在的键,pop() 方法会引发 KeyError。你可以使用 pop() 方法的第二个参数指定默认值,以避免引发异常:
removed_value = ordered_dict.pop('nonexistent_key', None)
这样如果键不存在,pop() 将返回 None 而不是引发异常。
需要注意的是,从 Python 3.7 开始,普通的字典(dict)也开始保持插入顺序,因此在新版本的 Python 中,OrderedDict 的使用可能相对较少。在早期版本的 Python 中,如果需要确保字典的顺序,OrderedDict 是一个常用的选择。