字符串Python中字符的计数符号

2024-10-03 02:43:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我想计算字符串中的重复字符数,我知道count()函数,但它对我当前的任务没有帮助。例如,字符串示例输入为s = 'aaaabbсaa'示例输出应为:a4b2с1a2 如果您有任何建议,我将不胜感激,谢谢


Tags: 函数字符串示例count字符建议aaaaaabb
2条回答

您可以尝试使用itertools.groupby

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)

输出:

result
'a4b2с1a2'

您也可以尝试以下方法:

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)

输出:

“a4b2c1a2”

相关问题 更多 >