Dokumentacja nie gwarantuje. Czy jest jakieś inne miejsce, które jest udokumentowane?
Domyślam się, że może być stabilna, ponieważ metoda sortowania na listach jest gwarantowana jako stabilna (Uwagi 9 punkt: „Począwszy od Pythona 2.3, metoda sort () jest stabilna”), a sortowanie jest funkcjonalnie podobne. Jednak nie jestem w stanie znaleźć żadnego ostatecznego źródła, które by to mówiło.
Cel: muszę sortować na podstawie klucza podstawowego, a także klucza pomocniczego w przypadkach, gdy klucz podstawowy jest taki sam w obu rekordach. Jeśli gwarantujemy, że funkcja sortowania () jest stabilna, mogę posortować dane według klucza dodatkowego, a następnie posortować dane według klucza podstawowego i uzyskać wynik, którego potrzebuję.
PS: Aby uniknąć nieporozumień, używam stabilnego w znaczeniu „sort jest stabilny, jeśli gwarantuje, że nie zmieni się względnej kolejności elementów, które porównują równe sobie”.
sorted([(1, 2), (1, 1)])
zwraca[(1, 1), (1, 2)]
zamiast zwracać oryginalne dane wejściowe w tej samej kolejności / kolejności. Czy gwarancja stabilności nie powinna oznaczać, że powinna zwracać oryginalne[(1, 2), (1, 1)]
dane wejściowe? W takim przypadku musisz być wyraźny i powiedziećsorted([(1, 2), (1, 1)], key=lambda t: t[0])