Dans Python 2.x , je pourrais passer une fonction personnalisée aux fonctions triées et .sort
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
Parce que, dans Ma langue, les consonnes sont accompagnées de cet ordre
"k","kh",....,"ht",..."h",...,"a"
Mais dans Python 3.x , il semble que je n'ai pas pu passer le 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 des alternatives ou devrais-je aussi écrire ma propre fonction triée?
Remarque: j'ai simplifié en utilisant "k", "kh", etc. Les caractères réels sont des Unicodes et 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 n'ai pas pu passer ma fonction de comparaison personnalisée à trié ou .sort
sorted(x)
?