배열?
- 데이터를 나열하고, 각 데이터를 인덱스로 접근할 수 있도록 구성한 데이터의 구조이다.
배열이 필요한 이유
- 같은 종류의 데이터를 효율 관리를 위해서 사용한다.
- 같은 종류의 데이터를 순차적으로 저장
배열의 장점
- 인덱스 번호로 빠른접근이 가능하다
- 데이터의 위치에 대해 직접적인 접근(Access)가 가능하다
배열의 단점
- 미리 배열의 크기를 지정해야하고 그로인해 고정되어있는 배열의 크기 때문에 데이터의 추가 및 삭제가 매우 불편
- 데이터 추가 삭제 발생시에 놀고 있는 저장공간이 생길수도 있고 중간 값의 데이터를 삭제 했을 경우 앞으로 당겨와야한다든지의 문제점이 있어 불편
리스트?
- 파이썬에서 사용되는 자료구조
- 리스트는 배열과 같이 다중 자료형이지만 다른 속성을 가지고 있다.
- 리스트에서의 인덱스는 그저 몇 번째 데이터정도인가를 의미
리스트의 장점
- 포인터를 통하여 다음 데이터의 위치를 가르키고 있어서 삽입 삭제가 쉽다. 쉽게 설명하자면 동적이므로 배열과 다르게 크기가 정해져있지 않음.
리스트의 단점
- 검색 성능이 좋지 못한다. 이유는 배열은 데이터의 위치에 대해서 직접적인 접근이 가능하지만, 리스트는 직접 접근이 불가능하고 처음부터 몇 번째인지 일일이 세어가면서 위치를 찾기 때문
- 만약 데이터가 삽입 삭제 수정 없이 확실하게 정해져 있다면 배열(Array)이 더 효율적
리스트를 사용하지 않았을 때와 사용했을 때의 차이
- 만약 과일 종류를 담은 데이터를 전체적으로 뿌려줘야 하는데 과일종류가 100가지가 넘는다 했을 때 리스트를 사용하지 않고 과일1, 과일2, 과일3... 과 같은 방식으로 출력을 한다고 가정하면 얼마나 비효율적인지 생각만해도 알 것이다.
파이썬과 리스트 사용
- 사용 예시
- 변수명 = ["index1", "index2", "index3"] - 1차원 배열 리스트
- 변수명 = [["index1", "index2"], ["index3", "index4"]] - 2차원 배열 리스트
- 활용 - 각각의 리스트 인덱스에서 특정 문자열 개수 구하기