具有可变上限的循环

时间:2019-03-19 07:55:26

标签: python python-3.x

我想在python中创建一个for循环,其变量上限为list的长度,其大小在循环内被修改。

像这样:

l = [1,2,3,4,5,6]
for i in range(len(l)):
    del l[i]

1 个答案:

答案 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