Python 如何在一个字符串中打印两个或多个相同的字母?
我有一个字符串“Hello JJ”,我必须打印它,以便 字符串中相邻和相同的字母打印在同一行上。像这样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
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]