Python 如何在一个字符串中打印两个或多个相同的字母?

Python 如何在一个字符串中打印两个或多个相同的字母?,python,string,for-loop,Python,String,For Loop,我有一个字符串“Hello JJ”,我必须打印它,以便 字符串中相邻和相同的字母打印在同一行上。像这样 0 1 H 2 He 3 Hell 4 Hello 5 Hello 6 Hello JJ 我需要使用for循环。 我用的代码就是这个 text = 'Hello.' for position in range(0, len(text)+1): print position, text[0:position] 但是我如何让它同时打印相同的字母(如第3行和第6行) 输出 H He

我有一个字符串“Hello JJ”,我必须打印它,以便 字符串中相邻和相同的字母打印在同一行上。像这样

0 
1 H
2 He
3 Hell
4 Hello
5 Hello
6 Hello JJ
我需要使用for循环。 我用的代码就是这个

text = 'Hello.'
for position in range(0, len(text)+1):  
    print position, text[0:position]
但是我如何让它同时打印相同的字母(如第3行和第6行)

输出

H
He
Hell
Hello
Hello 
Hello JJ
使用

将文本拆分为字符串列表

import re
text = "hello piithon"
items = [m.group() for m in re.finditer(r"(.)(\1*)",s)]
for position in range(0, len(text)+1):
    print position, items[0:position]
它应该会起作用

from itertools import groupby
groups = [''.join(l) for g,l in groupby("Hello JJ")]
for i in range(len(groups)+1):
    print ''.join(groups[:i])

>>> 

H
He
Hell
Hello
Hello 
Hello JJ
>>> from itertools import groupby
>>> strs = "Hello JJ"
>>> start = ''
for k, g in groupby(enumerate(strs), key=lambda x:x[1]):
    lis = list(g)
    start += ''.join(x[1] for x in lis)
    print lis[0][0], start
...     
0 H
1 He
2 Hell
4 Hello
5 Hello 
6 Hello JJ
import re
text = "hello piithon"
items = [m.group() for m in re.finditer(r"(.)(\1*)",s)]
for position in range(0, len(text)+1):
    print position, items[0:position]