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('반복문이 종료되었습니다.')