티스토리 뷰

Python

[Python] 이중 for 문 break

Gom Guard 2018. 4. 11. 09:16
반응형


사용할 예제 

  • Python 에서는 for loop 에서 즉시 빠져나오고 싶을 때 break 를 사용합니다. 그런데 break 같은 경우 하나의 for 문만 빠져나올 수 있기 때문에 다중 for 문일 경우에는 원하는 방식대로 작동하지 않는 경우가 많습니다. 이번 글에서는 다중 for 문에서 어떻게 한 번에 빠져나올지에 대해 살펴보겠습니다.

  • 다음 코드를 간단한 예제 코드로 이용해보겠습니다. 두 개의 index ( i , j ) 를 사용하고 각각 0 에서 4 까지 출력하는 코드 입니다. 

  • 0 0 에서 부터 4 4 까지 출력하는데 우리는 i 와 j 가 모두 2가 되는 순간, 즉 2 2 까지만 출력되게끔 만들어보겠습니다.

break_point = 2
for i in range(5):
    for j in range(5):
        print(i,j)



방법1. 새로운 변수를 이용하는 방법 

  • 첫 번째 방법은 breaker 라는 새로운 변수를 이용해서 다중 for 문을 빠져나오는 방법입니다.

break_point = 2
breaker = False            
for i in range(5):
        for j in range(5):
            print(i,j,i*j)
            if i == break_point and j == break_point:
                breaker = True
                break
        if breaker == True:
            break

  • breaker 라는 변수를 추가해서 조건이 되는 경우 True 로 변경하고 내부 for 문을 빠져나올 때마다 조건을 확인해서 추가로 break 해주는 방법 입니다.



방법2. 예외처리를 이용하는 방법 

  • 두 번째 방법은 예외처리를 이용하는 방법입니다. 예외처리 관련해서는 다음 글에 자세한 설명이 있으니 참고하셔요.

break_point = 2
try:
    for i in range(5):
        for j in range(5):
            print(i,j,i*j)
            if i == break_point and j == break_point:
                raise NotImplementedError
except:
    print('end')

  • 조건이 맞으면 NotImplemetedError (선언되지 않은 에러) 를 발생시켜 다중 for 문을 바로 종료시키는 방법입니다. 







부족한 블로그에 방문해 주셔서 감사합니다.

잘못된 부분이나 질문이 있으시면 

댓글로 말씀해주세요.


금방 확인하고 피드백 드리겠습니다.


좋은 하루 되세요. ^^


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
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
글 보관함