如何解决列表索引超出范围错误?

这是我得到的错误


     word[i] += len(words)

 IndexError: list index out of range

这是代码


word=[]

i=1

with open("poem.txt", "r") as f:

    for line in f:

        words=line.split()

        word[i] += len(words)

        i += 1


for i in range(1,20):

    print("For the line "+i+" we have "+word[i]+" words")

我想要作为输出的东西是这样的


对于第 1 行,我们有 10 个单词


对于第 2 行,我们有 20 个单词


等等 ...


胡子哥哥
浏览 237回答 2
2回答

30秒到达战场

它与您访问数组的方式有关。有一个更好的方法:word=[]with open("poem.txt", "r") as f:    for line in f:        words=line.split()        word.append(len(words))for idx, count in enumerate(word):    print("For the line " + (idx + 1) + " we have " + count + " words")

冉冉说

第一次代码运行字将有 0 个元素,但 i 是 1,因此位置 1 处没有项目。尝试从 i=0 开始word=[] i=0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python