x='ZZZZZxxxAA'
i=j=1
while j<=len(x):
if j<len(x) and x[j-1]==x[j]:
i+=1
else:
print( x[j-1], i )
i=1
j+=1
x='ZZZZZxxxAA'
i=j=1
while j<=len(x):
if j<len(x) and x[j-1]==x[j]:
i+=1
else:
print( x[j-1], i )
i=1
j+=1
x='ZZZZZxxxAAk'
i=1
j=0
while j < len(x)-1:
if x[j]==x[j+1]:
i+=1
else:
print x[j], i
i=1
j+=1
print x[j], i
x='ZZZZZxxxAA'
i=j=1
while j<=len(x):
if j<len(x) and x[j-1]==x[j]:
i+=1
else:
print x[j-1]+str(i),
i=1
j+=1
inp = 'ZZZZZxxxAA'
for i in set(inp):
print "%s%d " % (i, inp.count(i)),
IsemЛюбой каприз :)
Хорошо бы еще все таки сохранить порядок символов, в котором они появляются в строке.
inp = 'ZZZZZxxxAA'
processed = []
for i in inp:
if i not in processed:
print "%s%d " % (i, inp.count(i)),
processed.append(i)
EdИли что-то типа этого:
Любой каприз
Код:
inp = ‘ZZZZZxxxAA’
processed =
for i in inp:
if i not in processed:
print “%s%d ” % (i, inp.count(i)),
processed.append(i)
import re
x = 'ZZZZZxxxAA'
for ch in re.findall(r'(.)\1*', x ):
print( "{}{}".format( ch, x.count(ch)), end = '' )
print( ''.join( ch + str(x.count(ch)) for ch in re.findall(r'(.)\1*', x ) ) )
print( ''.join( ch+str(len(s)) for s, ch in re.findall(r'((.)\2*)', x ) ) )
from itertools import groupby
inp = 'ZZZZZxxxAA'
print ''.join( k+str(len(list(x))) for k,x in groupby(inp) )