Table of Contents

728x90

Python에서 한 번에 두 개의 반복문을 빠져나가는 직접적인 방법, 즉 단일 break 문으로 두 반복문 모두를 종료하는 기능은 제공하지 않습니다. 하나의 break는 그것이 포함된 가장 내부의 반복문만 종료합니다. 그러나 두 반복문을 모두 빠져나가기 위해 몇 가지 다른 방법을 사용할 수 있습니다.

방법 1: 플래그 변수 사용

플래그 변수를 사용하여 외부 반복문의 조건을 제어할 수 있습니다. 내부 반복문에서 특정 조건을 만족할 때 플래그를 변경하고, 외부 반복문은 이 플래그를 검사하여 조건에 따라 종료될 수 있습니다.

escape = False  # 플래그 변수
for i in range(5):
    for j in range(5):
        print(f"Processing {i}, {j}")
        if i == 3 and j == 3:  # 특정 조건
            escape = True  # 플래그 변경
            break  # 내부 반복문 탈출
    if escape:
        break  # 외부 반복문 탈출

방법 2: 예외 처리 사용

예외 처리를 사용하여 한 번에 여러 반복문을 빠져나갈 수 있습니다. 이 방법은 상황에 따라 약간 과할 수 있지만, 복잡한 중첩 반복문에서 유용하게 사용될 수 있습니다.

class EscapeLoops(Exception):
    pass

try:
    for i in range(5):
        for j in range(5):
            print(f"Processing {i}, {j}")
            if i == 3 and j == 3:
                raise EscapeLoops()  # 예외 발생
except EscapeLoops:
    pass  # 예외를 잡고 반복문을 빠져나감

방법 3: 함수 분리

로직을 함수로 분리하고 함수 내에서 반복문을 실행하는 방법입니다. 조건이 충족되면 return을 사용하여 함수 (그리고 반복문)에서 바로 빠져나올 수 있습니다.

def process():
    for i in range(5):
        for j in range(5):
            print(f"Processing {i}, {j}")
            if i == 3 and j == 3:
                return  # 함수와 반복문에서 바로 빠져나감

process()

이러한 각각의 방법들은 상황에 따라 선택하여 사용할 수 있으며, 코드의 복잡성과 유지 관리의 용이성을 고려하여 적절한 방법을 선택하는 것이 좋습니다.

'Python' 카테고리의 다른 글

array에 append 할 수 있을까?  (0) 2024.05.07
데이터 입력받기 input  (0) 2024.05.06
공백제거 strip(), replace(), isspace()  (0) 2024.05.05
unpivot하기 - melt함수  (0) 2024.04.30
unpivot하기 - stack 함수  (0) 2024.04.30