Python dict 和 OrderedDict
有序性
这里说的有序指的是维持键的插入顺序,并不是指使用二叉树维持键的大小关系。
As of Python version 3.7, dictionaries are ordered. In Python 3.6 and earlier, dictionaries are unordered.
而 OrderedDict 一直是有序的。
https://devdocs.io/python~3.11/library/collections#collections.OrderedDict
比较
- Python 内置的字典主要用于查询(但在 3.7 版本之后也附带了维持插入顺序的功能),如果要频繁使用排序的功能,
OrderedDict性能更好。 OrderedDict有一些排序的接口,方便实现 LRU 缓存等。OrderedDict在相等比较时会额外比较键的顺序。
A regular can emulate the order sensitive equality test with :
p == q and all(k1 == k2 for k1, k2 in zip(p, q)).
OrderedDict的popitem有不同的签名,OrderedDict还有一个move_to_end方法。