Die Dokumentation garantiert das nicht. Gibt es einen anderen Ort, an dem dies dokumentiert ist?
Ich vermute, es könnte stabil sein, da die Sortiermethode in Listen garantiert stabil ist (Anmerkungen 9. Punkt: "Ab Python 2.3 ist die sort () -Methode garantiert stabil") und sortiert ist funktional ähnlich. Ich kann jedoch keine endgültige Quelle finden, die dies sagt.
Zweck: Ich muss nach einem Primärschlüssel und auch nach einem Sekundärschlüssel sortieren, wenn der Primärschlüssel in beiden Datensätzen gleich ist. Wenn sorted () garantiert stabil ist, kann ich nach dem Sekundärschlüssel sortieren, dann nach dem Primärschlüssel sortieren und das gewünschte Ergebnis erhalten.
PS: Um Verwirrung zu vermeiden, verwende ich Stable im Sinne von "Eine Sortierung ist stabil, wenn sie garantiert, dass die relative Reihenfolge von Elementen, die gleich sind, nicht geändert wird".
sorted([(1, 2), (1, 1)])
zurück,[(1, 1), (1, 2)]
anstatt die ursprüngliche Eingabe in derselben Reihenfolge / Reihenfolge zurückzugeben. Sollte die Stabilitätsgarantie nicht bedeuten, dass die ursprüngliche[(1, 2), (1, 1)]
Eingabe zurückgegeben wird? In diesem Fall müssen Sie explizit sein und sagensorted([(1, 2), (1, 1)], key=lambda t: t[0])