小编典典

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

python

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

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


阅读 214

收藏
2020-12-20

共1个答案

小编典典

对于Guido而言,这是一个有意识的设计决定(他甚至不愿意添加collections模块)。他的目标是在选择应用程序的数据类型时保留“一种显而易见的方式”。

基本概念是,如果用户足够复杂,以至于不能意识到内置类型不是解决其问题的正确解决方案,那么他们还可以找到合适的第三方库。

鉴于list + sorting,list + heapq和list +
bisect涵盖了许多本来会依赖于固有排序的数据结构的用例,并且存在像blist这样的包,因此没有很大的动力来增加该空间的复杂性,标准库。

在某些方面,这类似于标准库中没有多维数组的事实,而是将该任务割让给了NumPy员工。

2020-12-20