s = 'aaaabbсaa'
from itertools import groupby
result=''.join(f'{label}{len(list(group))}' for label, group in groupby(s))
#same as:
#result = [f'{label}{len(list(group))}' for label, group in groupby(s)]
#result=''.join(result)
s = 'aaaabbсaa'
new_s=''
num=0
prev=s[0]
for i in range(len(s)):
if(s[i]==prev):
num += 1
else:
new_s+=s[i-1]
new_s+=str(num)
prev=s[i]
num=1
if(i==len(s)-1)
new_s+=s[i]
new_s+=str(num)
print(new_s)
您可以尝试使用
itertools.groupby
:输出:
您也可以尝试以下方法:
输出:
“a4b2c1a2”
相关问题 更多 >
编程相关推荐