Re: [Python-es] Pregunta de extracción con string
Chema Cortes
pych3m4 en gmail.com
Lun Jun 15 12:43:56 CEST 2009
El 13 de junio de 2009 23:24, lasizoillo<lasizoillo en gmail.com> escribió:
>> Los bucles no siempre son solución.
>>
>> string="A1B1C1D1A2B2C3G56H1H2"
>>
>> import re
>> a=re.compile("[A-Z]").findall(string)
>> a.sort(reverse=True)
>> print "Letra %s" % a[0]
>
> No hace falta almacenar y ordenar los datos. Se puede usar la función max:
>
> print "Letra %s" % max(re.compile("[A-Z]").findall(string))
No vale la pena compilar la expresión regular si no la vas a usar más
veces. Para "encadenar" funciones mejor así:
print "Letra %s" % max(re.findall("[A-Z]",string))
Las expresiones regulares son muy potentes, pero este problema tiene
una solución más trivial:
print "Letra %s" % max(c for c in cadena if 'A'<=c<='Z')
print "Número %s" % max(c for c in cadena if '0'<=c<='9')
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es