我想在python中创建一个for循环,其变量上限为list的长度,其大小在循环内被修改。
像这样:
l = [1,2,3,4,5,6]
for i in range(len(l)):
del l[i]
答案 0 :(得分:0)
l = [1,2,3,4,5,6]
for i in range(len(l)):
del l[0]
您的代码使列表1元素每次迭代都更短。 当您到达元素4时,您的代码将尝试删除仅3个元素长的列表的第四个元素。这会导致超出范围的错误。
编辑 问您的上限是否恒定:是的。
from random import randint
def upper_bound():
print("Generate Range")
return randint(0,9)
for i in range(upper_bound()):
print("Iteration")
pass
这段代码打印出来:
Generate Range
Iteration
Iteration
...
Iteration