IndexError:列表索引超出范围,但不会

时间:2019-07-28 06:47:02

标签: python list indexing

def change(txt):    
    for i in range(9):
        k=len(txt[i])
        for j in range(k):

            if txt[i][j-1]=='6':
                txt[i].pop(j)
            if '\n' in txt[i]:
                txt[i].remove('\n')
        k=0
change(sd)

它表明:      如果txt [i] [j-1] =='6':     IndexError:列表索引超出范围

txt是一个嵌套列表

我更改为 def change(txt):     s = len(txt)     对于我在范围内:         k = len(txt [i])         打印(k)         对于范围(k)中的j:             如果txt [i] [j] .isdigit:                 如果txt [i] [j-2] .isdigit:                     del txt [i] [j-1]             如果txt [i]中为'\ n':                 txt [i]。删除('\ n')             如果txt [i] [j] ==',':                 txt [i] [j] =='。         k = 0

相同错误

1 个答案:

答案 0 :(得分:0)

您正在使用[j - 1]指向不在列表中的索引。将代码从for j in range(k)更改为for j in range(k-1)