Как выйти из нескольких циклов?
Вот еще один короткий подход. Недостатком pythonic является то, что вы можете pythonista разорвать только внешний nested-loops цикл, но иногда это именно python-interpreter то, что вам нужно.
for a in xrange(10):
for b in xrange(20):
if something(a, b):
# Break the inner loop...
break
else:
# Continue if the inner loop wasn't broken.
continue
# Inner loop was broken, break the outer.
break
Здесь используется python-interpreter конструкция for / else, описанная pythonista на странице Why does python use 'else' after for and while loops?
Основная идея: это py только кажется, как будто внешний py цикл всегда прерывается. Но если внутренний цикл не прервется, не произойдет и внешний цикл.
Оператор py continue
здесь - волшебство. Это program-flow в предложении for-else. By definition, что program-flow происходит, если нет внутреннего pythonista разрыва. В этой ситуации python continue
аккуратно обходит внешний break разрыв.
python
nested-loops
break
control-flow
Как выйти из нескольких циклов?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.