El día 12 de octubre de 2012 17:15, alito s <[email protected]> escribió:
> Si, un ejemplo es el siguiente:
>
>> YPR203W_COILS, 1-15, 49-74, 88-102
>> YPR203W_HOTLOOPS, 1-18, 50-76
>
> En cada línea cambia lo del principio. Lo que a mi me interesa es que se
> reste lo que hay antes y después del guión, para cada guión.
Volviendo a tu código con regex, bastaría cambiar el 'search' por
'findall' para que localizar todas las ocurrencias:
mysearch = inp.readlines()
for line in mysearch:
y = re.findall(r"(\d+(?=[-]))", line)
z = re.findall(r"((?<=[-])\d+)", line)
if y:
print [int(b)-int(a) for (a,b) in zip(y,z)]
Optimizando, una sóla expresión regular y sacando el patrón fuera del
bucle, quedaría así:
pat = re.compile(r"(\d+)[-](\d+)")
for line in inp:
print [ int(b)-int(a) for (a,b) in pat.findall(line)]
--
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/