索引器:列表分配索引超出python 3.4的范围
在lempel-ziv解码方法中,我得到了索引器 这是我的代码,我知道大小将是3,而len(LT)只有2。 但我只是将伪代码转换为python代码索引器:列表分配索引超出python 3.4的范围,python,python-3.x,lempel-ziv-76,Python,Python 3.x,Lempel Ziv 76,在lempel-ziv解码方法中,我得到了索引器 这是我的代码,我知道大小将是3,而len(LT)只有2。 但我只是将伪代码转换为python代码 def decode(self,target): tlen = len(target) source = '' source += target[0] LT = ['',target[0]] loc = 1 size = 2 while
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
如果要在列表中添加第三项,请使用
append
而不是assignment
替换
LT[size] = seg
与
如果您知道大小为3且列表长度仅为2,那么您也知道错误的原因。试着解释一下这段代码应该完成什么,然后有人可能会提供帮助。
LT[size] = seg
LT.append(seg)