簡體   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