En Python 2.x, me podía pasar función personalizada para ordenados y .Sort funciones¿Cómo usar una función de comparación personalizada en Python 3?
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
Porque, en mi idioma, son consonents viene con este fin
"k","kh",....,"ht",..."h",...,"a"
Pero En Python 3.x, parece que no pude pasar cmp
palabra clave
¿Hay alguna alternativa o debo escribir mi propia función ordenada también?
Nota: simplifiqué usando "k", "kh", etc. Los caracteres reales son Unicodes y aún más complicado, a veces hay vocales antes y después de las consonantes, he hecho una función de comparación personalizada, Para que parte está bien. Solo el problema es que no pude pasar mi función de comparación personalizada a ordenada o .sort
has necesitado simplemente 'ordenados (x)'? – SilentGhost
@SilentGhost, para asegurarme, lo intenté de nuevo, por supuesto, no funcionaba, porque * mi * idioma original no está en la lista de configuración regional admitida por Operation Systems para hacer la clasificación. – YOU
Puede envolver su cmp como una función clave. Busque en el sitio de clasificación de cmp_to_key. – Frank