[Python-ideas] Run length encoding
storchaka at gmail.com
Sun Jun 11 00:57:24 EDT 2017
11.06.17 05:20, Neal Fultz пише:
> I am very new to this, but on a different forum and after a couple
> conversations, I really wished Python came with run-length encoding
> built-in; after all, it ships with zip, which is much more complicated :)
> The general idea is to be able to go back and forth between two
> representations of a sequence:
> |[(1, 4), (2, 1), (3, 1), (4, 2), (3, 3)]|
> where the first element is the data element, and the second is how many
> times it is repeated.
> I wrote an encoder/decoder in about 20 lines (
> https://github.com/nfultz/rle.py/blob/master/rle.py ) and would like to
> offer it for the next version; I think it might fit in nicely in the
> itertools module, for example. I am curious about your thoughts.
RLE is just a general idea. Concrete implementations in file formats and
protocols have different limitations and peculiarities. Different
schemes are used for encoding lengths and values, short repetition
sequences usually are not encoded with RLE, as well as repetition
sequences of specific values, there are limitations on the maximal
length. The implementation of the general idea is simple, but is not
helpful in concrete cases.
More information about the Python-ideas