按插入顺序编制索引的词典。
indexed的Python项目详细描述
简介
indexed.IndexedOrderedDict(别名indexed.Dict)完全兼容 与collections.OrderedDict一起使用,可以用作插入式替换。 主要区别在于键、值和项视图支持访问 元素的索引。在
d=indexed.IndexedOrderedDict()d["first-key"]="first-value"d["second-key"]="second-value"d["third-key"]="third-value"values=d.values()assertvalues[2]=="third-value"assertd.keys().index("second-key")==1
特点
- 按索引访问键、值和项,例如d.keys()[5]。在
- 查找键的索引,例如d.keys().index("key")。在
- 就地排序键,例如d.sort()。在
除去这些添加,API与的API相同 collections.OrderedDict()。包括:
- 初始化、设置、获取和删除项目
- 向前和反向迭代
- d.clear()
- d.popitem(last=True)
- d.move_to_end(key, last=True)
- d.keys(),d.values(),d.items()
- d.pop(key[, default])
- d.setdefault(key, default=None)
- 字符串表示法
- 酸洗
- 复制
- 从关键点创建
- 与其他有序字典或顺序敏感地比较顺序 与其他映射无关
安装
^{pr2}$性能
性能实际上与内置的相同数量级 collections.OrderedDict,例外情况为粗体:
d | ^{tt3}$ | ^{tt1}$ | ||
---|---|---|---|---|
Operation | Avergage | Worst case | Average | Worst case |
d.copy() | O(n) | O(n) | O(n) | O(n) |
d[key] | O(1) | O(n) | O(1) | O(n) |
d[key] = value | O(1) | O(n) [1] | O(1) | O(n) [1] |
del d[key] | O(1) | O(n) | O(n) | O(n) |
d.keys()[i] | O(n) [2] | O(n) [2] | O(1) | O(1) |
d.values()[i] | O(n) [3] | O(n) [3] | O(1) | O(n) |
d.items()[i] | O(n) [3] | O(n) [3] | O(1) | O(n) |
d.keys().index(x) | O(n) [3] | O(n) [3] | O(n) | O(n) |
[2] | (1, 2) This does not work in Python 3 because ^{tt19}$ is not indexable. One of the theoretically best work arounds is ^{tt20}$. |
[3] | (1, 2, 3, 4, 5, 6) Assuming the theoretically best possible workaround. |
许可证
这个库源于CPython的collections.OrderedDict 并根据PSFL获得许可。 请参阅许可证文件以获取完整的许可证文本。在
- 项目
标签: