Документація не гарантує , що. Чи є інше місце, де це задокументовано?
Я припускаю, що він може бути стабільним, оскільки метод сортування у списках гарантовано стабільний (Примітки 9-й пункт: "Починаючи з Python 2.3, метод sort () гарантовано буде стабільним"), і сортування функціонально подібне. Однак я не можу знайти жодного остаточного джерела, яке б так говорило.
Призначення: Мені потрібно сортувати на основі первинного ключа, а також вторинного ключа у випадках, коли первинний ключ рівний в обох записах. Якщо 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])