중첩 제어구조로 이차원 리스트 다루기
이번에는 금메달보다 은메달이 더 많은 나라를 찾아보겠습니다. 일차원 리스트에서도 각 요소에 접근하려면 반복문을 사용해야 했습니다. 이와 마찬가지로 이차원 리스트 olympic에서 금메달보다 은메달이 많은 나라를 찾으려면 각 행에 접근해서 ‘금메달 개수보다 은메달 개수가 많은가?’를 일일이 확인해야 합니다. 앞서 반복문으로 이차원 리스트를 다루는 방법을 배웠으니 이를 바탕으로 프로그램을 작성해 봅시다.
print('금메달보다 은메달이 더 많은 나라')
for row in olympic:
if row[2] < row[3]:
print(row[1])
실행결과
금메달보다 은메달이 더 많은 나라
프랑스
반복문을 한 번 실행할 때마다 일차원 리스트 하나가 row에 들어갑니다. 첫 번째 실행에서는 row에 [1, '미국', 46, 37, 38, 121]이 저장됩니다. 그리고 반복문 내부에서 조건문으로 금메달 개수 row[2]와 은메달 개수 row[3]을 비교합니다. row[3]이 큰 리스트가 있으면 해당 리스트의 row[1] 값을 출력합니다. 금메달보다 은메달 개수가 많은 나라는 프랑스뿐이네요.