Python에서 중첩 루프(Nested Loop) 활용하기
Python에서는 중첩 루프(nested loop)를 매우 쉽게 만들 수 있습니다. 루프 안에 또 다른 루프를 배치하는 방식으로, for 루프 안에 while 루프를 넣거나, 반대로 while 루프 안에 for 루프를 넣는 것도 모두 가능합니다.
기본 예제: for 루프 안에 while 루프 넣기
다음은 for 루프 내부에 while 루프를 중첩한 간단한 예제입니다.
for i in range(5):
j = i
while j != 0:
print(j, end=', ')
j -= 1
print("")
이 코드를 실행하면 아래와 같은 결과가 출력됩니다.
1,
2, 1,
3, 2, 1,
4, 3, 2, 1,
코드 동작 원리
바깥쪽의 for 루프가 0부터 4까지 반복하면서 각 값을 i에 할당합니다. 그리고 안쪽의 while 루프는 j 값이 0이 될 때까지 현재 값을 출력하고 1씩 감소시킵니다. 이렇게 바깥 루프가 한 번 실행될 때마다 안쪽 루프가 전체 사이클을 완료하는 구조가 됩니다.
중첩 단계 제한
중첩 루프는 위 예제처럼 두 단계에 국한되지 않습니다. 필요에 따라 세 단계, 네 단계 등 원하는 만큼 깊게 루프를 중첩할 수 있습니다. 다만 중첩 단계가 깊어질수록 코드의 가독성이 떨어지고 실행 시간도 기하급수적으로 늘어날 수 있으므로, 실제 개발에서는 적절한 수준으로 유지하는 것이 좋습니다.