Документация не гарантирует , что. Есть ли другое место, где это задокументировано?
Я предполагаю, что он может быть стабильным, так как метод sort в списках гарантированно стабилен (примечания 9 пункт: «Начиная с Python 2.3, метод sort () гарантированно стабилен»), а sorted функционально аналогичен. Однако я не могу найти какой-либо исчерпывающий источник, в котором говорится об этом.
Цель: мне нужно выполнить сортировку на основе первичного ключа, а также вторичного ключа в тех случаях, когда первичный ключ одинаков в обеих записях. Если sorted () гарантированно будет стабильным, я могу отсортировать по вторичному ключу, затем отсортировать по первичному ключу и получить нужный мне результат.
PS: Чтобы избежать путаницы, я использую стабильный в смысле «сортировка стабильна, если она гарантирует, что не изменит относительный порядок элементов, которые сравниваются равными».
sorted([(1, 2), (1, 1)])
возвращает[(1, 1), (1, 2)]
вместо исходного ввода в той же последовательности / порядке. Разве гарантия стабильности не должна означать, что он должен возвращать исходный[(1, 2), (1, 1)]
ввод? В этом случае вы должны быть явным и сказатьsorted([(1, 2), (1, 1)], key=lambda t: t[0])