python的sorted()函数是否保证稳定?

文档并不能保证这一点。是否有任何其他地方记录

我猜它可能是稳定的,因为列表上的sort方法保证是稳定的(注意第9点:“从Python 2.3开始,sort()方法保证是稳定的”),并且sorted在功能上是类似的。然而,我无法找到任何明确的消息来源这样说

目的:如果主键在两个记录中相等,我需要根据主键和辅助键进行排序。如果sorted()被保证是稳定的,我可以在次键上排序,然后在主键上排序,得到我需要的结果

PS:为了避免任何混淆,我使用的是稳定,意思是“如果排序保证不改变比较相等的元素的相对顺序,那么它就是稳定的”

是的,本手册的目的确实是为了保证排序是稳定的,而且它使用的算法与排序方法完全相同。我确实意识到,文档并不是100%清楚这个身份;文档补丁总是被愉快地接受

发表评论