3 回答
TA贡献1864条经验 获得超2个赞
您在 enumerate(oldsize[1:]) 中为 i, j 输入以下格式的 for 循环:
其中 i 是索引,j 是该索引处的值,此代码将从第二个值中获取结果,留下第一个值,因为我们将其定义为从 oldsize 列表中的索引 1 获取值
TA贡献1829条经验 获得超7个赞
只需在索引之前添加一个大小检查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
TA贡献1859条经验 获得超6个赞
想象一下您的列表包含5
元素。它的长度将为5
,其索引0
为4
。
for i in range(len(oldsize)):
这将检查i
从0
到 的索引4
。如果您要求 element i+1
,最后一个i+1
将是5
,超出范围。
要对此进行补救,请不要进行比 更进一步的迭代i=3
。你会想要这样做:
for i in range(len(oldsize) - 1):
添加回答
举报