【发布时间】:2012-10-10 10:06:16
【问题描述】:
我正在尝试了解运行长度编码,但我在网上发现了这个我做不到的挑战。它要求您编写一个名为 compression(strg) 的压缩函数,它将长度为 64 的二进制字符串 strg 作为输入,并返回另一个二进制字符串作为输出。输出二进制字符串应该是输入字符串的游程编码。
压缩('1010101001010101101010100101010110101010010101011010101001010101')
'1010101001010101*4'
这是我所拥有的,但这找不到模式:
from itertools import *
def compression(strg):
return [(len(list(group)),name) for name, group in groupby(strg)]
我需要一些帮助来解决这个问题。
【问题讨论】:
-
游程编码查找固定大小块的重复。我猜你需要在这里检测 16 位块的运行。这应该是问题规范的一部分。
标签: python image compression run-length-encoding