No Python 2.x , eu poderia passar funções personalizadas para funções ordenadas e classificadas
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
Porque, na Minha língua, as consoantes vêm com esta ordem
"k","kh",....,"ht",..."h",...,"a"
Mas no Python 3.x , parece que não consegui passar a cmp
palavra-chave
>>> 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 alguma alternativa ou devo escrever minha própria função classificada também?
Nota: simplifiquei usando "k", "kh", etc. Os caracteres reais são Unicodes e ainda mais complicados, às vezes há vogais que vêm antes e depois das consoantes, fiz a função de comparação personalizada, então essa parte está ok. O único problema é que não consegui passar minha função de comparação personalizada para classificado ou .sort
sorted(x)
?