-----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 -----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/