El día 12 de octubre de 2012 17:15, alito s <alit...@gmail.com> 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
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a