我不知道如何解决这个错误
有代码:
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])
答案 0 :(得分:1)
您可以使用以下格式输入循环 对于i,j枚举(oldsize [1:]):
答案 1 :(得分:0)
在i+1
位于i
的最后一项的情况下,只需为索引oldsize
添加大小检查即可,这意味着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
答案 2 :(得分:0)
想象一下,您的列表包含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):