删除重复但保留序列

Chr*_*all -2 python

我正在尝试使用重复项来减少字符串,但我不想创建一个集合.例如

mystring = 'TTTTTPPPTPTTTTPPPPPPPPP'
Run Code Online (Sandbox Code Playgroud)

字母序列是'TPTPTP',所以我需要一个结果字符串

newstring = 'TPTPTP'
Run Code Online (Sandbox Code Playgroud)

我确信有一个简单的单行,但它避开了我

Wan*_*uta 5

你在找itertools.groupby.

>>> mystring = 'TTTTTPPPTPTTTTPPPPPPPPP'
>>> groups = [x for x, y in itertools.groupby(mystring)]
>>> groups
['T', 'P', 'T', 'P', 'T', 'P']
>>> ''.join(groups)
TPTPTP
Run Code Online (Sandbox Code Playgroud)

官方文件