3. 자료구조
3.1. 자료구조
3.1.1. 자료구조의 중요성
- 자료구조(data structure)
- 데이터의 특징을 고려하여 메모리에 효율적으로 저장 및 반환하는 방법으로 데이터를 관리하는 방식
- 자료구조의 중요성
- 데이터 저장과 검색 효율화 : (예) 빠른 검색이 필요한 경우 딕셔너리 사용
- 연산 속도 최적화 : (예) 중복을 제거하는 경우 리스트보다 세트가 효율적임
- 메모리 사용 절약 : (예) 불변형 객체를 다룰 때는 리스트 대신 튜플 사용
- 코드 가독성 및 유지보수성 향상
3.1.2. Python 자료구조
- Python은 리스트(list), 튜플(tuple), 세트(set), 딕셔너리(dictionary)의 4개 대표적인 자료구조를 제공함
| 자료구조 | 설명 |
|---|---|
| 리스트(list) | 여러 개의 값을 저장할 수 있는 순차적인 자료구조 |
| 튜플(tuple) | 리스트와 같지만 데이터의 변경을 허용하지 않는 자료구조 |
| 세트(set) | 데이터의 중복을 허용하지 않고, 수학의 집합 연산을 지원하는 자료구조 |
| 딕셔너리(dictionary) | 키(key)와 값(value)의 형태로 데이터를 저장하는 자료구조 |
- 자료구조 비교
| 자료구조 | 순서 유지 | 변경 가능 | 중복 허용 | 특징 |
|---|---|---|---|---|
| 리스트(list) | ○ | ○ | ○ | 가장 기본적인 자료구조, 인덱스로 접근 |
| 튜플(tuple) | ○ | × | ○ | 리스트와 유사하지만 불변형(immutable) |
| 세트(set) | × | ○ | × | 중복 제거, 수학적 집합 연산 가능 |
| 딕셔너리(dictionary) | ○ | ○ | △ | 키-값(key-value) 형태로 저장 |