簡體   English   中英

IndexError:for循環中的列表索引超出范圍

[英]IndexError: list index out of range in for loop

我用python寫代碼,但遇到了這個錯誤:

if a1[i] == a1[i+1] == a1[i+2]:
IndexError: list index out of range

我寫了一個if條件,如果我的列表長度小於3,則中斷for,但它不起作用。

我的代碼:

numb = int(input())
a1 = []
a2 = []
a = 0
a1 = [int(i) for i in input().split()]
for i in range(0, numb):
    a2.append("empty")


for i in range(0, len(a1)-2):
    if len(a1) < 3:
        break
    else:
        if a1[i] == a1[i+1] == a1[i+2]:
            a = a + 1
            a2[i] = a
            a2[i+1] = a
            a2[i+2] = a
            a1.remove(a1[i+2])
            a1.remove(a1[i+1])
            a1.remove(a1[i])

為什么我遇到這個錯誤? 如果條件不起作用,該怎么辦?

對於Addision,我很抱歉在我的問題中寫錯了。

您的循環從0len(a1)-2 ,而您應該只轉到len(a1)-3

當您使用i ,讓i0轉到len(a1)-1
當您使用ii+1 ,讓i0轉到len(a1)-2
當您使用ii+1i+2i0轉到len(a1)-3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM