gpt4 book ai didi

python - 我很难找出为什么使该索引超出范围错误

转载 作者:行者123 更新时间:2023-12-03 08:22:12 26 4
gpt4 key购买 nike

我得到了这个代码

lista = list(range(30))
print(lista)
for i in range(0,len(lista)):
if lista[i]%3 == 0:
del lista[i]

print(lista)

并且在如果我得到并且错误告诉我它超出了我的列表范围。但是,如果for循环在此列表的长度范围内,则每个i的列表索引都超出范围是没有意义的,因为它只能获取列表长度的值个数?

最佳答案

你做不到如果要在for循环中修改列表的大小并修改其长度,将无法获得所需的结果。

假设您可以在size大小列表中删除一个元素。因此,突然的lista[size-1]无法正常工作,但您仍将尝试访问它。

那是你的错误范围是在调用开始时定义的,不会在每次迭代后更新。

正如mauve和Asier ricardo Rafales Vila所说,解决方案是lista = [i for i in range(30) if i%3 != 0]

关于python - 我很难找出为什么使该索引超出范围错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53284426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com