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

结论

如果你对教程有任何疑问,请在评论部分提出。

更新于:2020 年 2 月 12 日

2K+ 浏览量

职业生涯开启篇章

完成课程获得认证

开始学习
广告