Python 压缩运行长度编码

2023-12-10

我正在尝试了解游程编码,但我在网上发现了这个挑战,但我无法做到。它要求您编写一个名为compression(strg)的压缩函数,该函数将长度为64的二进制字符串strg作为输入,并返回另一个二进制字符串作为输出。输出二进制字符串应该是输入字符串的游程长度编码。

压缩('1010101001010101101010100101010110101010010101011010101001010101')

'1010101001010101*4'

这是我所拥有的,但这没有找到模式:

from itertools import *

def compression(strg):
    return [(len(list(group)),name) for name, group in groupby(strg)]

我需要一些帮助来解决这个问题。


我相信您将 RLE 与 Lempel/Ziv 滑动窗口压缩混为一谈。

RLE 严格作用于重复字符:WWWWWWWW => W8

LZ有一个滑动窗口,可以拾取您所描述的模式。

大卫·麦凯的site有 Python 压缩代码示例,包括 LZ

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 压缩运行长度编码 的相关文章

随机推荐