comparar y ordenar unicodes
Marcos Sánchez Provencio
rapto en arrakis.es
Mie Nov 23 10:50:48 CET 2005
Aún 'más mejor' (necesita python moderno), de este modo es más rápido:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/442492
(en los comentarios)
palabras.sort(key=locale.strxfrm)
El sáb, 12-11-2005 a las 09:28 +0100, Marcos Sánchez Provencio escribió:
> 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
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
--
Marcos Sánchez Provencio <rapto en arrakis.es>
------------ próxima parte ------------
_______________________________________________
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