我正在运行一个很长的脚本,这将起作用:
# sample line
line = '....,,,,.,..,.,.,.4GCCG.,..,,,.,.,,.2TG'
# search for numbers in line
numbers = re.search(["[0-9]", line)
if numbers is not None:
numbers = re.finditer("[0-9]", line)
some_process_on_each(numbers)
但是在每行中两次搜索数字效率不高。
有没有一种方法可以比较从re.finditer("[0-9]", line)
获得的callable_iterator和某种布尔值(也许我可以知道内存空间?),因此可以执行以下操作:
# sample line
line = '....,,,,.,..,.,.,.4GCCG.,..,,,.,.,,.2TG'
# search for numbers in line
numbers = re.finditer(["[0-9]", line)
if numbers is ??:
some_process_on_each(numbers)
谢谢
答案 0 :(得分:1)
只需尝试迭代即可。
import re
line = '....,,,,.,..,.,.,.4GCCG.,..,,,.,.,,.2TG'
for n in re.finditer("[0-9]", line):
print(line[slice(*n.span())])
#4
#2
如果没有数字,则没有要迭代的东西。