Python

for ~ else 문

낙타선생 2021. 7. 2. 16:06
반응형

for loop를 중간에 탈출하지 않고 완료한 경우에 한해 실행되는 구문이 필요할 수 있다. 다음과 같이 내부에 마지막 반복을 확인하는 구문을 두고 만족하는 경우 실행되도록 하는 방법을 생각해볼 수 있다.

data = [1, 2, 3, 4, 5]
for i in range(len(data)):
    print(data[i])
    if i == len(data) - 1:
        print('반복문이 종료되었습니다.')

 

이를 for ~ else 구문을 통해 다음과 같이 보다 간단하게 표현할 수 있다.

data = [1, 2, 3, 4, 5]
for i in range(len(data)):
    print(data[i])
else:
    print('반복문이 종료되었습니다.')

for ~ else 구문 실행 중 loop가 완료되기 전에 break로 loop를 탈출하게 되는 경우는 else 구문이 실행되지 않음에 유의한다. 다음과 같이 작성된 코드에서는 loop가 완료되기 전에 탈출하게 되므로 else 구문은 실행되지 않는다.

data = [1, 2, 3, 4, 5]
for i in range(len(data)):
    if i == len(data)-2:
        print('반복문을 탈출합니다.')
        break
    print(data[i])
else:
    print('반복문이 종료되었습니다.')