Подсчет количества букв

Есть код:

from collections import Counter
    
def chec(stroka):
    c = []
    for k, v in Counter(stroka).items():
        if v > 1:
            c.append(f'{k}{v}')
        elif v == 1:
            c.append(f'{k}')
    print(*c, sep='', end='')
        
chec('aaabbvb')

На выходе a3b3v

А нужно a3b2vb


Ответы (1 шт):

Автор решения: gil9red

Для этой задачи лучше всего использовать groupby:

from itertools import groupby

text = 'aaabbvb'

for c, v in groupby(text):
    count = len(list(v))
    print(f'{c}{count if count > 1 else ""}', end='')

# a3b2vb
→ Ссылка