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