더북(TheBook)

중첩 제어구조로 이차원 리스트 다루기

이번에는 금메달보다 은메달이 더 많은 나라를 찾아보겠습니다. 일차원 리스트에서도 각 요소에 접근하려면 반복문을 사용해야 했습니다. 이와 마찬가지로 이차원 리스트 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] 값을 출력합니다. 금메달보다 은메달 개수가 많은 나라는 프랑스뿐이네요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.