알아 보기
프로그램 3-1에서 눈여겨볼 부분은 중첩된 반복문입니다. 리스트 안에 있는 자료를 서로 빠짐없이 비교하되 중복해서 비교하지 않도록 반복문을 두 개 겹쳐서 사용하였습니다.
첫 번째 반복문 for i in range(0, n - 1):은 i를 0부터 n-2까지 반복한다는 뜻입니다. 리스트의 마지막 값에 해당하는 a[n - 1]은 이미 앞에서 다른 자료와 한 번씩 다 비교했으므로 제외해도 됩니다(즉, 마지막 Tom을 기준으로는 비교하지 않아도 됩니다).
두 번째 반복문 for j in range(i + 1, n):은 비교 기준으로 정해진 i번째 위치에 1을 더한 위치의 값부터 끝까지 비교하는 것을 뜻합니다. 그림 3-2를 보면서 비교 과정을 머릿속으로 정리해 보면 이해하는 데 좀 더 도움이 될 것입니다.
그림 3-2 리스트에 있는 자료를 모두 비교하는 방법