ZZZZZxxxAA
Вот я кое-что надумал:
x='ZZZZZxxxAA'
i=0
stroka=[]
for j in x:
if x[i]==x[i+1]:
stroka=x[i]+str(x.count(x[i]))
i=i+1
print stroka,
>>>
Z5
Z5 x3 A2
ZZZZZxxxAA
x='ZZZZZxxxAA'
i=0
stroka=[]
for j in x:
if x[i]==x[i+1]:
stroka=x[i]+str(x.count(x[i]))
i=i+1
print stroka,
>>>
Z5
Z5 x3 A2
x='ZZZZZxxxAA'
key=1
dic={}
i=0
while i < len(x)-1:
if x[i]==x[i+1]:
key+=1
dic[x[i]]=key
else:
key=1
i+=1
print dic.items()
x='ZZZZZxxxAA'
dic={}
for ch in x:
dic[ch] = dic.get(ch,0)+1
print( dic )
x='ZZZZZxxxAA'
print( { ch:x.count(ch) for ch in set(x) } )
IsemПервая конструкция мне очень понравилась (плохо я про словари почитал), а вот вторая, не знаю.. не нравятся мне длинные строки, но кому как удобно =)Или еще короче, но медленнее:x='ZZZZZxxxAA'
dic={}
for ch in x:
dic[ch] = dic.get(ch,0)+1
print( dic )x='ZZZZZxxxAA'
print( { ch:x.count(ch) for ch in set(x) } )
x='ZZZZZxxxAA'
dic={}
for ch in x:
dic[ch] = dic.get(ch,0)+1
for key, value in dic.items():
print key, value
x='ZZZZZxxxAA'
dic={ ch : x.count(ch) for ch in set(x) }
print( ' '.join( k+str(n) for k,n in dic.items() ) )
мне нужно чтобы результат был похож на - Z5 x3 A2. А в последующих постах он -{'A': 2, ‘x’: 3, ‘Z’: 5}
#python 3.1
from collections import OrderedDict
x='ZZZZZxxxAA'
dic=OrderedDict()
for ch in x:
dic[ch] = dic.get(ch,0)+1
for key, value in dic.items():
print (key, value)
>>>
Z 5
x 3
A 2
>>>
x='ZZZZZxxxAA'
i=0
j=0
stroka=[]
while j<len(x)-1:
if x[i]!=x[i+1]:
print x[i]
i=i+1
else:
i=i+1
j=j+1