ランレングスエンコーディングについて学習しようとしていますが、オンラインでこの課題を見つけましたが、それはできません。長さ 64 のバイナリ文字列 strg を入力として受け取り、別のバイナリ文字列を出力として返す、compression(strg) という圧縮関数を作成する必要があります。出力バイナリ文字列は、入力文字列のランレングス エンコーディングである必要があります。
圧縮('1010101001010101101010100101010110101010010101011010101001010101')
「1010101001010101*4」
ここに私が持っているものがありますが、これはパターンを見つけません:
from itertools import *
def compression(strg):
return [(len(list(group)),name) for name, group in groupby(strg)]
これを解決する助けが必要です。