Haslo lo mas simple posible KISS
El día 12 de octubre de 2012 21:52, Chema Cortes <pych...@gmail.com> escribió: > 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/ -- Miguel Zamora M. Programador en Computacion e Informatica 08-1351249 mzmp...@gmail.com Santiago-Chile _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/