Python 中的游程长度编码
在本教程中,我们将学习如何在 Python 中创建游程长度编码。给定一个字符串,返回一个包含字符和频率的新字符串。
例如,字符串tutorialspoint将被编码为t3u1o2r1i2a1l1s1p1n1。顺序是每个字符+频率。将它们全部连接起来并返回。请参阅下面的步骤来编写程序。
使用名称 run_length_encoding 编写函数。
使用OrderedDict初始化一个字典,将字符的初始计数设为 0。
迭代字符串中的每个字符,并在字典中增加计数。
连接所有字符及其频率。并打印出来。
初始化字符串并调用函数。
示例
让我们看看上述文本的代码。
# importing the collections import collections # function def run_length_encoding(string): # initialzing the count dict count_dict = collections.OrderedDict.fromkeys(string, 0) # iterating over the string for char in string: # incrementing the frequency count_dict[char] += 1 # initializing the empty encoded string encoded_string = "" # joining all the chars and their frequencies for key, value in count_dict.items(): # joining encoded_string += key + str(value) # printing the encoded string print(encoded_string) # initializing the strings string = "tutorialspoint" # invoking the function run_length_encoding(string) # another string string = "aaaaaabbbbbccccccczzzzzz" run_length_encoding(string)
输出
如果你运行上面的代码,你会得到以下输出。
t3u1o2r1i2a1l1s1p1n1 a6b5c7z6
结论
如果你对教程有任何疑问,请在评论部分提出。
广告