按插入顺序编制索引的词典。

indexed的Python项目详细描述


buildpypi package

简介

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}$
OperationAvergageWorst caseAverageWorst case
d.copy()O(n)O(n)O(n)O(n)
d[key]O(1)O(n)O(1)O(n)
d[key] = valueO(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)
^{tb2}$
[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获得许可。 请参阅许可证文件以获取完整的许可证文本。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将多个线程中的函数放入单个队列   数组在Java中,如何在不改变整数顺序的情况下找到整数组的顺序?   java控制器属于表示层?   java Apache Ivy和本地Maven repo如何处理使用Maven 3构建的快照   Java可与泛型类型进行比较   java这个表达式在泛型中是什么意思   JavaEclipse和TeamCity插件   java检测构造函数中的final是否为空   java如何在StanfordCoreNLP管道中同时使用词汇化和依赖性解析器?   java在AntUnit控制台日志中显示完整异常堆栈跟踪   lambda如何与Java 8供应商建立连锁关系   如何让GRPC的重试机制在Kubernetes集群中使用grpcjava工作?   如何使用openjdk:7 Docker映像和Gradle包装器避免“EC参数错误”?   java将集合映射扩展为一维映射新的“无法推断函数接口类型”