【发布时间】:2019-03-19 07:55:25
【问题描述】:
我想在 python 中创建一个 for 循环,其上界是列表的长度,其大小在循环内被修改。
像这样:
l = [1,2,3,4,5,6]
for i in range(len(l)):
del l[i]
【问题讨论】:
-
@Dataholic:有什么不使用
while循环的特殊原因吗?while循环为您提供所需的控制。 -
是的,它与 while 循环一起工作,我只想知道 for 循环的上限是否在每次迭代中更新?
-
如果您仍想使用 for 循环来执行此操作,您可以使用我在此处给出的答案的变体 stackoverflow.com/questions/54870055/…。该答案提供了一种重新设置可迭代的技术。您可以修改该技术以设置迭代的新限制。
-
在
for循环的情况下要理解的重要事项是: (a) 表达式的计算只发生一次。 (b) 您“拦截”或“干预”的唯一机会是如果您在开始时实现for循环使用的迭代器每次迭代。 (我在那篇文章中的回答是说明如何重新设置或重新初始化自定义迭代器以再次从头开始迭代)
标签: python python-3.x