본문 바로가기
파이썬

파이썬 리스트 오류 원인 / 인덱스 오류

by 여름코딩 2023. 2. 8.
반응형

안녕하세요 판타지코딩입니다!

 

오늘은 파이썬을 활용하면서 발생할 수 있는 여러 가지 오류 중 '리스트'와 관련된 내용을 알아보겠습니다.

 

리스트 오류

 

파이썬은 '리스트'라는 자료형을 지원하고, 데이터를 연속적으로 저장하기 용이하기 때문에 많이 활용하는 자료형입니다. 그런데 이 자료형은 사용하기 쉬운 만큼 오류를 발생시키기도 쉬운데요, 오늘은 그 원인을 알아보고 리스트 활용시 주의할 사항을 공부해 보겠습니다!

 

1. 리스트란 무엇인가?

리스트는 데이터를 연속적으로 저장할 수 있는 자료형입니다. C언어에서 제공하는 배열과 비슷한 자료형입니다. 그럼 리스트를 어떻게 활용하는지 간단히 보겠습니다.

arr = []

arr.append(1)
arr.append(2)
arr.append('1')

리스트의 이름은 'arr'이고, 가장 첫 줄에 리스트를 생성했습니다. 이렇게 생성하면 데이터가 저장되지 않은 리스트가 생성된 것입니다. 이 리스트에 데이터를 저장하는 방법은 arr = [1, 2, 3] 처럼 직접 대입하는 것이 있습니다. 그리고 위의 코드에서는 'append'라는 명령어를 활용해서 데이터를 추가했습니다. append(1)은 1을 추가하는 것이고, append(2)는 2를 추가하는 것입니다. 그리고 append('1')은 문자 '1'을 추가한 것입니다. 이처럼 리스트는 정수나 문자를 대입 또는 append로 저장할 수 있습니다.

 

2. 인덱스가 없는 리스트를 호출할 때

이것은 리스트 사용시 가장 흔하게 발생하는 오류입니다. 바로 리스트의 범위를 벗어나는 오류입니다. 범위를 벗어났다는 것은 리스트에 존재하지 않는 인덱스를 호출했을 때 발생합니다.

arr = [1, 2, 3]

print(arr[3])

간단한 오류 예제입니다. 이 코드는 arr의 3번째의 데이터를 출력하도록 되어있습니다. 그런데 이 코드는 리스트의 범위를 벗어났습니다. 왜냐하면 arr은 2번째까지 데이터가 있기 때문입니다. 리스트는 0번째, 1번째, 2번째 순으로 인덱스를 가집니다. 그러므로 arr[0]은 1, arr[1]은 2, arr[2]는 3이 저장되어 있습니다. print(arr[3])은 arr의 3번째에 데이터가 없으므로 출력할 수 없기 때문에 오류가 발생합니다. 

리스트의 인덱스에 데이터가 저장되어 있는지 확인하고 코드를 작성하시면 범위 관련 오류를 발생시키지 않을 것입니다!

 

 

반응형