使用Python,如何将输出字符串打印为-〉aaa 3bb 2c 1ddddd 5当输入字符串为aaabbcddddd时我想将实际字符值和字符在字符串中重复的次数连接起来
def mycode(myString):
lenstr = len(myString)
print('length of string is '+str(lenstr));
for ele in myString:
count=0
for character in myString:
if character == ele:
count = count+1
totalstr = ele+str(count)
return totalstr
7条答案
按热度按时间qco9c6ql1#
如果字符串总是像这样排序和分组在一起,那么可以使用
collections.Counter
来完成。或者在一行中:
输出:
您也可以手动执行此操作:
bkhjykvo2#
下面是一个使用regex替换回调函数的单行解决方案:
du7egjpx3#
另一句俏皮话:
yh2wf1be4#
46qrfjad5#
你可以像..
e4eetjau6#
还有一个办法...
充分披露:...只要字符串为10个或更少,它就会工作。即,如果行中有11个字符,它就不会工作(计数将是错误的)。
它只是一个封装
reduce
的函数。下面是一些示例输出:
zaqlnxep7#
我认为这满足了简短的要求,也非常快: