El día 10 de febrero de 2010 19:33, Sio2 <sio2s...@gmail.com> escribió:
> El Tue, 09 de Feb de 2010, a las 11:16:37AM +0100, Oswaldo Hernández dijo:
>
>> En este ejemplo la ordenación no es la que pretendía, pero sirve para
>> ilustrar el como funciona LC_COLLATE ;)
>
> Pues mi gozo en un pozo: yo siempre creí que LC_COLLATE ordenaría
> alfabéticamente según las reglas de ordenación de la lengua en cuestión.
> Es más, si no es así, no sé muy bien para qué puede servir. Porque en el
> ejemplo que yo di "Díaz Flor" debe aparecer antes que "Díaz Flores",
> ¿no? No me refiero al ordenamiento de LC_COLLATE, sino al ordenamiento
> que se esperaría si ordenásemos según nuestras reglas tradicionales.

Parece que el módulo "locale" necesita una revisión. Prueba a ver si
te sirven los bindings para ICU, que es posible que esté más maduro:

  http://pyicu.osafoundation.org/
  http://userguide.icu-project.org


Así en rápido:

>>> import PyICU

>>> locale=PyICU.Locale("es_ES")
>>> collator=PyICU.Collator.createInstance(locale)

collator.compare("Diaz Flor, M","Diaz Flores, M")  -->  -1
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a