python - 为什么 Python 的标准库中没有排序容器?

标签 python language-design sortedset sortedmap

是否存在阻止将已排序容器添加到 Python 的 Python 设计决策 (PEP)?

(OrderedDict 不是排序容器,因为它是按插入顺序排序的。)

最佳答案

还有一条 python sortedcontainers实现排序列表、字典和集合类型的模块。它与 blist 非常相似,但在 pure-Python 中实现,在大多数情况下 faster .

>>> from sortedcontainers import SortedSet
>>> ss = SortedSet([3, 7, 2, 2])
>>> ss
SortedSet([2, 3, 7])

它还具有其他软件包不常见的功能:

>>> from sortedcontainers import SortedDict
>>> sd = SortedDict((num, num) for num in range(100000))
>>> sd.iloc[-5] # Lookup the fifth-to-last key.
99995

披露:我是 sortedcontainers 模块的作者。

关于python - 为什么 Python 的标准库中没有排序容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5953205/

相关文章:

python - 制作 map 和寻路人工智能

python - 如何使用 Numpy/OpenCV 屏蔽图像?

ruby - Ruby 中系统对象和小整数的固定对象 ID

java - 为什么不转换为 NavigableSet 抛出 ClassCastException?

redis - ZREMRANGEBYRANK 与 ZREMRANGEBYSCORE 之间的区别

data-structures - 为什么 Redis SortedSet 使用 Skip List 而不是 Balanced Tree?

python - 如何在 csv 文件中查找元素并编辑该文件

python - RPY2:进口商因 .Renviron 失败

programming-languages - 是否有任何面向对象的静态类型语言,其变量类型很少?

programming-languages - 最有趣的非主流语言?