티스토리 뷰

한 개의 반복문 탈출 시엔 필요한 조건에서 break를 통해 바로 빠져나갈 수 있지만, 다중 반복문에선 그게 불가능하다. 다음은 다중 반복문을 탈출할 수 있는 세 가지 방법이다.

 

1. flag 사용

: 아래와 같이 flag를 사용한다면 다중 반복문에서 flag를 매 반복문마다 확인해 break를 선언한다면 탈출이 가능하다.

i = flag = 0
while i < 5:
    for j in range(5):
        if j%2 == 1:
            print(j)
            flag = 1
            break
        print(j)
    if flag == 1:
        break

실행 결과:

0

1

 

2. 예외 처리(except)

: 아래와 같이 except 처리를 통해서도 다중 반복문을 탈출할 수 있다.

class LoopBreak(Exception):
    pass

try:
    for i in range(3):
        for j in range(3):
            print(i, j)
            if i == 1 and j == 1:
                print('break')
                raise LoopBreak()
except LoopBreak:
    pass

실행 결과:

0 0

0 1

0 2

1 0

1 1

break

 

3. return 사용

: 아래와 같이 빠져나가고 싶은 조건에 return을 선언해 다중 반복문 탈출이 가능하다. 하지만 return은 현재 실행중인 메소드를 종료시키므로 사용에 유의해야한다.

for i in range(3):
    for j in range(3):
        print(i, j)
        if i == 1 and j == 1:
            print('return')
            return

실행 결과:

0 0

0 1

0 2

1 0

1 1

return

 

출처

1. https://gomguard.tistory.com/190

 

[Python] 이중 for 문 break

사용할 예제 Python 에서는 for loop 에서 즉시 빠져나오고 싶을 때 break 를 사용합니다. 그런데 break 같은 경우 하나의 for 문만 빠져나올 수 있기 때문에 다중 for 문일 경우에는 원하는 방식대로 작동

gomguard.tistory.com

2. https://m.blog.naver.com/bitcoding/221546891537

반응형

'기술(Tech, IT) > 파이썬(Python)' 카테고리의 다른 글

[Python] subscriptable: TypeError  (0) 2022.09.28
[Python] 주석(Annotation)  (0) 2022.09.26
[Python] deque(데크)  (0) 2022.09.25
[Python] for문(for loop)  (0) 2022.09.10
[Python] pass vs continue vs break  (0) 2022.09.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형