繁体   English   中英

Python-再次循环最后一个元素

[英]Python - Loop last element again

a=[1,2,3,4]

for i in a:
    if someConditon:
        print(i)
    else:
        loop over last element again

我正在使用硒与网页交互并下载pdf文档。 有时在下载过程中会发生错误,并且不会保存文件。 文件的实际保存存在于for循环中,我想添加一个条件,即“如果发现为假”则再次在同一元素上循环以尝试成功下载该项目。

我的问题是:我如何告诉python再次遍历同一元素

没有办法告诉for循环不要推进迭代器,因此,您将需要使用while循环并手动增加i ,或者在for循环体内执行任何其他循环。 这是我的写法:

for i in a:
    while not someCondition:
        # do something
    print(i)

您可以使用while循环并控制何时增加索引。 在这种情况下,只有someCondtion为True时, i才会递增。 否则,它将一次又一次地循环遍历同一元素。 您可以添加逻辑以避免无限重复,例如在X次重试退出循环或递增到下一个索引之后。

a=[1,2,3,4]

while i < len(a):
    if someCondition:
        print a[i]
        i += 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM