<p>您需要输入一个运行长度编码算法</p>
<p>Geeksforgeks在这方面有一篇很棒的文章:</p>
<p><a href="https://www.geeksforgeeks.org/run-length-encoding-python/" rel="nofollow noreferrer">https://www.geeksforgeeks.org/run-length-encoding-python/</a></p>
<pre><code># Python code for run length encoding
from collections import OrderedDict
def runLengthEncoding(input):
# Generate ordered dictionary of all lower
# case alphabets, its output will be
# dict = {'w':0, 'a':0, 'd':0, 'e':0, 'x':0}
dict=OrderedDict.fromkeys(input, 0)
# Now iterate through input string to calculate
# frequency of each character, its output will be
# dict = {'w':4,'a':3,'d':1,'e':1,'x':6}
for ch in input:
dict[ch] += 1
# now iterate through dictionary to make
# output string from (key,value) pairs
output = ''
for key,value in dict.items():
output = output + key + str(value)
return output
# Driver function
if __name__ == "__main__":
input="wwwwaaadexxxxxx"
print (runLengthEncoding(input))
</code></pre>
<p>输出:</p>
<pre><code>'w4a3d1e1x6'
</code></pre>
<p>你的例子是:</p>
<pre><code>input = 'hello world'
print(runLengthEncoding(input))
</code></pre>
<p>输出:</p>
<pre><code>'h1e1l3o2 1w1r1d1'
</code></pre>
<p>这正是你想要的</p>
<p>以上代码来自Geeksforgeks链接</p>