是否有Python设计决策(PEP)阻止将排序后的容器添加到Python?
(OrderedDict不是已排序的容器,因为它是按插入顺序排序的。)
OrderedDict
对于Guido而言,这是一个有意识的设计决定(他甚至不愿意添加collections模块)。他的目标是在选择应用程序的数据类型时保留“一种显而易见的方式”。
collections
基本概念是,如果用户足够复杂,以至于不能意识到内置类型不是解决其问题的正确解决方案,那么他们还可以找到合适的第三方库。
鉴于list + sorting,list + heapq和list + bisect涵盖了许多本来会依赖于固有排序的数据结构的用例,并且存在像blist这样的包,因此没有很大的动力来增加该空间的复杂性,标准库。
在某些方面,这类似于标准库中没有多维数组的事实,而是将该任务割让给了NumPy员工。