我想调整我的字符串来打印字符和字符数而不使用python内置方法。
>>> string = 'aaaabbbddd'
我正在寻找这个输出:
a4b3d3
答案 0 :(得分:2)
这是一种没有内置方法的方法!
def count_modify(string):
d = {}
for i in string:
if i in d:
d[i] += 1
else:
d[i] = 1
return ''.join(str(x)+str(d[x]) for x in d)
或者,您可以决定不使用join()
方法,而是执行以下操作
def count_modify(string):
d = {}
for i in string:
if i in d:
d[i] += 1
else:
d[i] = 1
n_str = ''
for i in d:
n_str += str(i)+str(d[i])
return n_str
现在唯一明显的方法是str()
方法!
答案 1 :(得分:1)
这看起来有点长,但我希望这能解决你的问题
string='aaaabbbddd'
elems=set(string)
result=''
for ele in elems:
result = result+ele+str(string.count(ele))
希望它有所帮助。快乐编码:)