Python 中的游程编码

pythonserver side programmingprogramming

在本教程中,我们将学习如何在 Python 中创建游程编码。给定一个字符串,返回一个包含 char 和频率 的新字符串。

例如,字符串 tutorialspoint 将被编码为 t3u1o2r1i2a1l1s1p1n1。顺序是每个 char+frequency。将它们全部连接起来并返回。请参阅以下步骤来编写程序。

  • 编写名为 run_length_encoding 的函数。

  • 使用 OrderedDict 初始化字典,以获取字符的初始计数 0。

  • 遍历字符串的每个字符并增加字典中的计数。

  • 连接所有字符及其频率。然后打印。

  • 初始化字符串并调用函数。

示例

让我们看看上述文本的代码。

# 导入集合
import collections
# 函数
def run_length_encoding(string):
   # 初始化计数字典
   count_dict = collections.OrderedDict.fromkeys(string, 0)
   # 遍历字符串
   for char in string:
      # 增加频率
      count_dict[char] += 1
   # 初始化空编码字符串
   encoded_string = ""
   # 连接所有字符及其频率
   for key, value in count_dict.items():
      # 连接
      coded_string += key + str(value)
      # 打印编码字符串
print(encoded_string)
# 初始化字符串
string = "tutorialspoint"
# 调用函数
run_length_encoding(string)
# 另一个字符串
string = "aaaaaabbbbbccccccczzzzzz"
run_length_encoding(string)

输出

如果您运行上述代码,您将获得以下输出。

t3u1o2r1i2a1l1s1p1n1
a6b5c7z6

结论

如果您对本教程有任何疑问,请在评论部分中提及。


相关文章