더북(TheBook)

이처럼 인덱스를 활용할 때는 인덱스가 0부터 시작한다는 점을 유의해야 합니다.

이번에는 반복문에서 리스트를 사용할 때 입문자가 자주 겪는 또 다른 오류 상황을 살펴보겠습니다. 리스트를 사용하다 보면 리스트의 요소 개수를 헷갈릴 때가 종종 있습니다. 다음처럼 range() 안의 숫자를 7로 바꾸고 실행해 봅시다.

for i in range(7):
    print(i + 1,'월 지출은', spending[i])
실행결과
1 월 지출은 25 
2 월 지출은 36 
3 월 지출은 8 
4 월 지출은 53 
5 월 지출은 24 
6 월 지출은 56 
------------------------------------------------------------------------- 
      1 for i in range(7): 
----> 2 print(i + 1, '월 지출은', spending[i])
IndexError: list index out of range

i가 0부터 5일 때까지 정상적으로 출력되다가 6이 될 때 IndexError가 발생합니다. 인덱스는 6개인데 이를 초과한 7로 범위를 설정해서 그렇습니다. 지금처럼 코드가 짧을 때는 리스트 길이를 기억해 이런 오류가 거의 발생하지 않습니다. 하지만 리스트가 여러 개거나 데이터가 많으면 리스트 길이를 일일이 기억하기가 어렵습니다. 이럴 때 앞에서 나온 len()을 사용하면 됩니다.

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