Hello python-ideas,

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.