a=[1,2,3,4]
for i in a:
if someConditon:
print(i)
else:
loop over last element again
我正在使用selenium与网页互动并下载pdf文档。有时在下载过程中会发生错误,并且文件不会被保存。文件的实际保存存在于for循环中,我想添加一个条件,如果发现为false,则在尝试成功下载项目时再次循环同一元素。
我的问题是:如何告诉python再次遍历同一个元素
答案 0 :(得分:6)
没有办法告诉for循环没有推进迭代器,所以你需要使用while循环并手动增加i
,或者在for循环体内执行任何其他循环。我就是这样写的:
for i in a:
while not someCondition:
# do something
print(i)
答案 1 :(得分:0)
您可以使用while循环并控制索引增加的时间。在这种情况下,i
只有在someCondtion
为True时才会增加。否则它会一次又一次地遍历同一个元素。您可以添加逻辑以避免无限重复,例如在X次重试后退出循环或增加到下一个索引。
a=[1,2,3,4]
while i < len(a):
if someCondition:
print a[i]
i += 1