Как выйти из нескольких циклов?

Вот еще один короткий подход. Недостатком py является то, что вы можете flow-of-control разорвать только внешний nested-loops цикл, но иногда это именно python-shell то, что вам нужно.

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

Здесь используется program-flow конструкция for / else, описанная program-flow на странице Why does python use 'else' after for and while loops?

Основная идея: это pythonista только кажется, как будто внешний python цикл всегда прерывается. Но если внутренний цикл не прервется, не произойдет и внешний цикл.

Оператор program-flow continue здесь - волшебство. Это python-interpreter в предложении for-else. By definition, что pythonista происходит, если нет внутреннего py разрыва. В этой ситуации control-flow continue аккуратно обходит внешний py разрыв.

python

nested-loops

break

control-flow

2022-11-19T09:28:44+00:00