Re: for 반복문에서 카운터 i
, 도장_ 관리자님이 작성중첩 루프 여부와 상관 없이 루프가 끝난 다음에 i와 j 값을 찍어보면 마지막 값이 출력됩니다. 이 예제에서 마지막 i와 j 값은 4입니다.
i와 j는 초기화를 하지 않아도 range(5)로 생성된 [0, 1, 2, 3, 4]의 값이 차례대로 할당됩니다.
중첩 루프이면 안쪽 루프가 처음부터 다시 실행되는 것이니까 예제에서 j는 range(5)의 범위이니 항상 [0, 1, 2, 3, 4]를 한 번씩 반복해서 실행하게 됩니다.
중첩 루프는 안쪽에서 실행되는 루프 전체를 반복해서 실행한다는 뜻입니다. 바깥쪽 루프는 안쪽 루프 전체를 반복해서 실행할 횟수를 지정하는 게 됩니다.
루프 하나는 1차원 데이터를 다룹니다. 즉, 가로로 나열된 데이터만 다룹니다.
2중첩 루프는 2차원 데이터를 다룹니다. 안쪽 루프는 가로로 나열된 데이터를 다루고, 바깥쪽 루프의 1 증가는 2차원 데이터의 행을 바꾸는 것이죠. 그림 19-2를 보면 이 관계가 설명되어 있습니다.