У меня есть следующий код:Как пропустить одиночную итерацию цикла в python?
for i in list1:
if i == 5:
#skip the NEXT iteration (not the end of this one)
else:
#do something
Как пропустить итерации, которая приходит после итерации, которая бросает пропуск. Например, если list1=[1, 2, 3, 4, 5, 6, 7]
, цикл пропустит 6 и перейдет прямо к 7, потому что 5 вызвали пропуски . Я видел this вопрос и несколько других, но все они имеют дело с пропуском текущей итераций, в то время как я хочу пропустить следующий итерация. Ответы на эти вопросы предлагают continue
, которые, насколько я могу судить, остановят оставшуюся часть текущей итерации и перейдут к следующему, чего я не хочу. Как я могу пропустить одну итерацию в цикле?
Редактировать: Было предложено использовать next()
, но это не работает для меня. Когда я запускаю следующий код:
a = [1, 2, 3, 4, 5, 6, 7, 8]
ai = iter(a)
for i in a:
print i
if i == 5:
_ = next(ai)
я
1
2
3
4
5
6 #this should not be here
7
8
Использование next()
также предложение в этом вопросе: Skip multiple iterations in loop python
Есть ваша ошибка: 'for i in a:'. Должно быть 'for i in ai:' –