In Python 2.x konnte ich benutzerdefinierte Funktionen an sortierte und sortierte Funktionen übergeben
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
Weil in meiner Sprache Konsonanten mit dieser Reihenfolge kommen
"k","kh",....,"ht",..."h",...,"a"
In Python 3.x konnte ich jedoch kein cmp
Schlüsselwort übergeben
>>> sorted(x,cmp=customsort)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'cmp' is an invalid keyword argument for this function
Gibt es Alternativen oder sollte ich auch meine eigene sortierte Funktion schreiben?
Hinweis: Ich habe durch die Verwendung von "k", "kh" usw. vereinfacht. Tatsächliche Zeichen sind Unicodes und noch komplizierter. Manchmal gibt es Vokale vor und nach Konsonenten. Ich habe eine benutzerdefinierte Vergleichsfunktion durchgeführt. Dieser Teil ist also in Ordnung. Das einzige Problem ist, dass ich meine benutzerdefinierte Vergleichsfunktion nicht an sortiert oder .sort übergeben konnte
sorted(x)
?