El día 10 de diciembre de 2010 02:01, Chema Cortes <p...@ch3m4.org> escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > El 10/12/10 00:07, Luis Miguel Morillas escribió: >> Cómo hacemos esto en python? Quiero que se compare como similar >> 'tecnica' y 'técnica' por ejemplo. > > Apunta la receta: > > import unicodedata > > def textplain(s): > > def normalize(c): > return unicodedata.normalize("NFD",c)[0] > > return ''.join(normalize(c) for c in s) > > > > Si van a ser cadenas muy largas o buscas "eficiencia" por encima de > todo, y si además quieres que tampoco sea sensible mayúsculas y > minúsculas, entonces se podría hacer algo así: > > import unicodedata > > def eq_plain(s1,s2): > > def normalize(c): > return unicodedata.normalize("NFD",c)[0].upper() > > return all( (normalize(c1)==normalize(c2)) for (c1,c2) in zip(s1,s2)) > > > > NOTA: sólo funciona si los argumentos están en unicode
Gracias, la verdad es que me sonaba esto del normalize pero estaba bloqueado :-P -- lm > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iQEcBAEBAgAGBQJNAXvoAAoJEFdWyBWwhL4FxywH/0U2FrXsGWxlwVrkTxeJO+xv > qCkuxrWQzo44IX7qKbiU+Tfkz9sfQLgIudRH5WQ2R53SRZOcp3hsyi1Qw/k5WC0/ > 6+vwPjL8Wp9sJQ3Aeq0l1HNGe1wYDoUrz822bxXNr6LM1FmmVKwS83VQ8IKW7xYB > dGGvoo9w5sZv8UPGvEG/HxUnGjVsNQIZtlRjaU9KHLesr7h70de4vMUzhhz3sIYg > Lx0DxjpNv33YDzpi4mQ/DKkH/dJoZuu4w0pN/QnZNuurJgrZ2i7OXy7MsluZXqPK > gVDcNak1KRtFJjFJesR0LY6+wI4UXgyF/1pCs5VMun+f2Tk7bRbk7LfrU5g/lBc= > =brSa > -----END PGP SIGNATURE----- > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/