标签: python sorting python-2.7
我想知道Python如何根据某种指定的键来决定两个项目之间的顺序。例如,给定:l = [[1, 2, 3], [1, 2], [1], [2, 3, 4], [1, 2, 4, 5]],Python如何在此类中订购[1, 2, 3]和[2, 3, 4]:
l = [[1, 2, 3], [1, 2], [1], [2, 3, 4], [1, 2, 4, 5]]
[1, 2, 3]
[2, 3, 4]
sorted(l, key=lambda i: len(i), reverse=True)
它是否保持领带中项目之间的原始(相对)顺序?或者它是随机订购的?
答案 0 :(得分:2)
来自docs:
内置的sorted()函数保证稳定。如果排序保证不更改比较相等的元素的相对顺序,则排序是稳定的 - 这有助于在多个过程中进行排序(例如,按部门排序,然后按工资等级排序)。
答案 1 :(得分:2)
同样在wiki:
从Python 2.2开始,保证排序稳定。那 意味着当多个记录具有相同的密钥时,它们的原始密钥 订单保留。