IndexError:列表赋值索引超出范围python 3.4

时间:2015-09-21 12:40:01

标签: python python-3.x lempel-ziv-76

在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

1 个答案:

答案 0 :(得分:1)

如果您想在列表中添加第三项,请使用append代替分配。

替换

LT[size] = seg

使用

LT.append(seg)