Цикл отпуска Python рано

Как я оставляю цикл рано в Python?

for a in b:
    if criteria in list1:
        print "oh no"
        #Force loop i.e. force next iteration without going on
    someList.append(a)

Кроме того, в Java Вы можете break из цикла, там эквивалент в Python?

32
задан matt wilkie 29 September 2011 в 18:05
поделиться

4 ответа

Продолжить и Break - это то, что вы хотите. Python работает идентично Java / C ++ в этом отношении.

51
ответ дан 27 November 2019 в 20:16
поделиться

Взгляните на перерыв и ] продолжить .

2
ответ дан 27 November 2019 в 20:16
поделиться

Во-первых, имейте в виду, что можно делать то, что вы хотите, с пониманием списка. Таким образом, вы могли бы использовать что-то вроде:

somelist = [a for a in b if not a.criteria in otherlist]

Если вы хотите выйти из цикла раньше в Python, вы можете использовать break , как и в Java.

>>> for x in xrange(1,6):
...     print x
...     if x == 2:
...         break
...
1
2

Если вы хотите начать следующую итерацию цикла раньше, используйте continue , как и в Java.

>>> for x in xrange(1,6):
...     if x == 2:
...         continue
...     print x
...
1
3
4
5

Вот документация для break и continue . Это также касается предложений else для циклов, которые не запускаются, когда вы break .

18
ответ дан 27 November 2019 в 20:16
поделиться

continue и break работают точно так же, как и в других языках программирования, за исключением того, что вы не можете break на метку (как, например, в Java). Это означает, что вы можете разорвать цикл по одному за раз.

5
ответ дан 27 November 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: