0%

list와Array

배열(Array)와 리스트(List)의 차이

배열(Array)

  • 데이터를 나열하고, 각 데이터를 인덱스로 접근할 수 있도록 구성한 데이터의 구조입니다.
  • 같은 종류의 데이터를 효율 관리를 위해서 사용합니다.
  • 같은 종류의 데이터를 순차적으로 저장합니다.

장점

  • 인덱스 번호로 빠른 접근이 가능합니다.
  • 데이터의 위치에 대해 직접적인 접근이 가능합니다.

단점

  • 미리 배열의 크기를 지정해야하고 그로 인해 고정되어 있는 배열의 크기 때문에 데이터의 추가 및 삭제가 매우 불편합니다.
  • 데이터 추가 삭제 발생시에 놀고 있는 저장공간이 생길 수 있고 중간 값의 데이터를 삭제했을 경우 앞으로 당겨와야한다던지의 문제점이 있어 불편합니다.

리스트(List)

  • 파이썬에서 사용되는 자료구조
  • 리스트는 배열과 같이 다중 자료형이지만 다른 속성을 가지고 있습니다. 리스트에서의 인덱스는 그저 몇 번째 데이터정도인가를 의미합니다

장점

  • 포인터를 통해 다음 데이터의 위치를 가르키고 있어서 삽입 삭제가 쉽습니다. 쉽게 설명하자면 동적이므로 배열과 다르게 크기가 정해져있지 않습니다.

단점

  • 검색 성능이 좋지 못합니다. 이유는 배열은 데이터의 위치에 대해서 직접적인 접근이 가능하지만, 리스트는 직접 접근이 불가능하고 처음부터 몇 번쨰인지 일일이 세어가면서 위치를 찾기 떄문입니다.
  • 만약 데이터가 삽입 삭제 수정없이 확실하게 정해져 있다면 배열이 더 효율적입니다.