[英]List index out of range: I don't know how to solve it
我不知道如何解決這個錯誤
有代碼:
for i in range(len(oldsize)):
if hitboxx[0] == oldsize[i+1]: #list index out of range
print("Some TEXTeeeeeeeeeeeeeeeeeeeeeeeeeeee")
print(i)
print(oldsize[i])
您以以下格式為枚舉(oldsize [1:])中的i,j輸入for循環:
如果i
位於oldsize
的最后一項, oldsize
只需在索引i+1
之前添加大小檢查,這意味着i+1
將是“過去的一項”而不存在。
for i in range(len(oldsize)):
if i + 1 < len(oldsize) and hitboxx[0] == oldsize[i+1]:
print("Some TEXTeeeeeeeeeeeeeeeeeeeeeeeeeeee")
print(i)
print(oldsize[i])
或者,您可以緩存oldsize的第一個項目,並將其與for循環中的項目進行比較,然后更新緩存的項目以使用for循環進行。 另外,您可以使用enumerate
來訪問索引和該索引處的項目。
lastItem = oldsize[0]
for i, item in enumerate(oldsize[1:]): # iterate starting with the second element
if hitboxx[0] == item:
print("Some TEXTeeeeeeeeeeeeeeeeeeeeeeeeeeee")
print(i)
print(lastItem)
lastItem = item
想象一下,您的列表包含5
元素。 它的長度將是5
,索引從0
到4
。
for i in range(len(oldsize)):
這將檢查索引i
從0
到4
。 如果要求元素i+1
,則最后一個i+1
將是5
,超出范圍。
要對此進行補救,請不要重復進行i=3
以上的迭代。 您需要這樣做:
for i in range(len(oldsize) - 1):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.