En Python 2.x Je pourrais passer une fonction personnalisée aux fonctions sorted et .sort.
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
Car, en Mon La langue, les consonants viennent dans l'ordre suivant
"k","kh",....,"ht",..."h",...,"a"
Mais en Python 3.x Il semble que je ne puisse pas passer cmp
mot-clé
>>> 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
Existe-t-il d'autres solutions ou dois-je écrire ma propre fonction de tri ?
Note : J'ai simplifié en utilisant "k", "kh", etc. Les caractères réels sont des Unicodes et sont encore plus compliqués, parfois il y a des voyelles qui viennent avant et après les consonnes, j'ai fait une fonction de comparaison personnalisée, donc cette partie est ok. Le seul problème est que je ne peux pas passer ma fonction de comparaison personnalisée à sorted ou .sort.