将m.start() - m.end()的输出写入列表

时间:2018-03-15 18:37:09

标签: regex python-3.x list

我有一个字符串,我想删除间隙。我找到了间隙的开始和结束位置,但我不想打印到屏幕上。

相反,我想将其保存为列表。

这是我的代码:

S1= "AAAA--TTT--GCCTT--GGG"    
import re
    t=[]
    p = re.compile("-+")
    for m in p.finditer(s1):
        t.append(m.end()-m.start()) ## This produces an error. I want to save the output as a list

2 个答案:

答案 0 :(得分:0)

这是你想要的吗?

 S1= "AAAA--TTT--GCCTT--GGG"
 S2 = S1.replace('--', ' ')
 l = list(S2.split(' '))

获取此输出['AAAA', 'TTT', 'GCCTT', 'GGG']

答案 1 :(得分:0)

这是print(m.end()-m.start())

的输出
2
2
2

所以我希望输出保存为列表t= [2,2,2]而不是打印到屏幕