comparar y ordenar unicodes
Marcos Sánchez Provencio
rapto en arrakis.es
Sab Nov 12 09:28:35 CET 2005
Prueba esto (asegúrate de guardar el fichero con la codificación que
indiques en la cabecera):
# -*- coding: utf8 -*-
import locale
locale.setlocale(locale.LC_ALL, '')
assert u'ñ'.upper()==u'Ñ'
palabras=[u'Ca',u'Cha',u'Cá',u'Cb',u'Cu']
palabras.sort(locale.strcoll)
for p in palabras:
print p,
#fin
marcos en renata:~ $ python xx.py
Ca Cá Cb Cha Cu
El sáb, 12-11-2005 a las 00:25 +0100, Andres Moya escribió:
> Buenas.
>
> Tengo una pregunta sencillita (jeje): ¿cómo puedo comparar dos cadenas
> unicode (u ordenar una lista de cadenas) de forma coherente con el
> idioma español? Es decir, considerando que las letras con acento son
> igual que sin acento, y que la ñ va después de la n.
>
> Para lo primero se me ha ocurrido normalizar convirtiendo áéíóú en aeiou
> con la función translate(), pero para lo segundo no se me ocurre manera.
> Por supuesto, la comparación directa y el método sort() no funcionan
> así, aunque las cadenas sean unicode.
>
> ---
> Andres.Moya en hispalinux.es
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es