2016-07-16 5 views
0

При использовании для цикла в python любого диапазона мы изначально определяем, что фиксировано.Хотите пропустить номер во время выполнения для цикла

В любом случае мы можем пропустить на каком-то этапе like.code дают i={0,1,2,3,4,5,6,7,8,9)

Я хочу

i={0,1,2,3,4,8,9} 
     for i in range(0,10): 
      print i 
      if(i==4): 
       i=i+3 

ответ

0

вы можете использовать список, и в цикле проверки списка.

listinfo = [0,1,2,3,4,8,9] 
for i in range(0,10): 
    if i in listinfo: 
     #do your stuff 
+0

Обратите внимание, что если большее количество значений участвуют, вы должны использовать 'set' или' range' ('xrange 'в Python 2), оба из которых обеспечивают постоянную проверку членства, в отличие от' list'. – Tutleman

+0

Я не проверял последовательность чисел. В этом случае ваш код лучше. –

0

Причина ваш код не работает, что каждая итерация для цикла начинается с установки значения i к следующему элементу в диапазоне, а это означает, что это не имеет значения, как вы установите i во время тела петли.

Вместо этого, вы можете иметь тело цикла выполняется только для определенных значений, как это:

for i in range(10): 
    if i not in range(5, 8): 
     print(i)