Werden Python-Sortierschlüssel garantiert nur einmal aufgerufen?

Während der Beantwortungeine andere FrageAm Ende habe ich eine Sortkey-Funktion erstellt, die ein Wörterbuch modifiziert, um den Status zu speichern, der dann für nachfolgende Elemente in der Sortierung verwendet wird.

Während meine Antwortschien meine frage ist: ist in der python-dokumentation tatsächlich definiert, dass der sort-key nur einmal pro objekt aufgerufen wird? Ist dies ein Implementierungsdetail von Cpython? Oder wird der Sortierschlüssel tatsächlich mehrmals aufgerufen und ich habe die richtige Antwort nur aus Glück erhalten?

Die Dokumentation vonsorted Zustände:

key gibt eine Funktion eines Arguments an, mit dem ein Vergleichsschlüssel aus jedem Listenelement extrahiert wird: key = str.lower. Der Standardwert ist None (vergleichen Sie die Elemente direkt)

Was ich nicht denke, impliziert daskey wird nur einmal pro Element aufgerufen ... aber es könnte anderswo angegeben werden.

Offensichtlich frage ich, da dies Konsequenzen für alle Sortierschlüssel hat, die einen Nebeneffekt haben.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage