lempel-ziv デコード メソッドで indexError を取得します。これは私のコードです。サイズが 3 になることはわかっていますが、len(LT) はちょうど 2 です。しかし、擬似コードを python コードに変換しただけです。
def decode(self,target):
tlen = len(target)
source = ''
source += target[0]
LT = ['',target[0]]
loc = 1
size = 2
while loc < tlen:
bitlen = ceil(log2(size))
index = self.BIT_TO_INTEGER(target[loc:(loc+bitlen)])
seg = LT[index]
if loc+bitlen < tlen:
seg += target[loc+bitlen]
size += 1
#print(size)
#print(LT,size)
LT[size] = seg
loc += 1
source += seg
loc += bitlen
return source
これはエラーメッセージです:
LT[size] = seg
IndexError: list assignment index out of range