我正在研究破解代码,他们要求编写一个字符串压缩方法,所以有一个问题:
aabbccccaa
会变成:
a2b1c4a2
我想到了这个:
''.join(y+str.count(y) for y in set(str))
但我的输出是:
a5c4b1
有人能给我指出干净的方向吗?
不好意思编辑不好,我在手机上
最佳答案
你可以使用 groupby
为您完成工作:
>>> from itertools import groupby
>>> s = 'aabbccccaa'
>>> ''.join(k + str(sum(1 for x in g)) for k, g in groupby(s))
'a2b2c4a2'
关于python - 使用重复字符计数的字符串压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39157420/