[pyar] Problema interesante: el anti-string

Claudio Freire klaussfreire en gmail.com
Jue Ago 5 14:57:27 ART 2010


2010/8/5 Claudio Freire <klaussfreire en gmail.com>

> Para evitar eso podrías forzar el orden de python (binario) convirtiendo a
> una cadena collation-insensitive:
>
> >>> l =  ["hola pepe", "hola juan", "pepe fue al médico", "yo también"]
> >>> l2 = map(lambda
> l:"".join(map("%02X".__mod__,map(0xFF.__and__,map(int.__invert__,map(ord,l))))),
> l)
> >>> l3 = sorted(list(zip(l2,l)))
> >>> l3
> [('8690DF8B9E929D963C5691', 'yo tambi\xc3\xa9n'),
> ('8F9A8F9ADF998A9ADF9E93DF923C569B969C90', 'pepe fue al m\xc3\xa9dico'),
> ('9790939EDF8F9A8F9A', 'hola pepe'), ('9790939EDF958A9E91', 'hola juan')]
> >>> sorted(l)
> ['hola juan', 'hola pepe', 'pepe fue al m\xc3\xa9dico', 'yo
> tambi\xc3\xa9n']
>

Ah, y como dijeron por ahí, para invertir el orden de las cadenas vacías y
de diferente longitud, se puede agregar 'G' a todas las cadenas (para que
las cadenas cortas vayan al final) o '\1' (para que las cadenas cortas vayan
primero)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100805/95776fa1/attachment.html>


More information about the pyar mailing list