Chapter 6. 자료구조
PYTHON DATA STRUCTURE
Chapter 6. 자료구조
다양한 자료구조에 대해 알아보고, 각 자료구조의 특징과 사용법을 배워봅니다.

6.1 자료구조란?
자료구조(Data Structure)는 여러 개의 데이터를 효율적으로 저장하고 관리하는 방법입니다. 예를 들어 학생 이름 여러 개, 점수 목록, 회원 정보 등을 저장할 때 자료구조를 사용합니다.
파이썬에서 가장 많이 사용하는 자료구조는 다음과 같습니다.
- List(리스트)
- Tuple(튜플)
- Dictionary(딕셔너리)
- Set(집합)
6.2 List(리스트)
리스트(List)는 여러 개의 데이터를 순서대로 저장하는 자료구조입니다. 리스트는 가장 많이 사용하는 자료형이며, 데이터를 추가하거나 수정, 삭제할 수 있습니다.
리스트 생성
Python
fruits = ["사과", "바나나", "포도"]
실행 결과
['사과', '바나나', '포도']
인덱스(Index)
리스트는 0부터 번호가 시작됩니다.
| 인덱스 | 값 |
|---|---|
| 0 | 사과 |
| 1 | 바나나 |
| 2 | 포도 |
값 변경
Python
fruits[1] = "딸기"
실행 결과
['사과', '딸기', '포도']
데이터 추가
Python
fruits.append("포도")
실행 결과
['사과', '바나나', '포도']
데이터 삭제
Python
fruits.remove("바나나")
실행 결과
['사과', '포도']
리스트 길이
Python
print(len(fruits))
실행 결과
3
리스트 반복
Python
for fruit in fruits:\n print(fruit)
실행 결과
사과
바나나
포도
바나나
포도
6.3 Tuple(튜플)
튜플(Tuple)은 리스트와 비슷하지만 값을 변경할 수 없는 자료구조입니다.
괄호 (( ))를 사용합니다.
Python
colors = ("빨강", "파랑", "노랑")
실행 결과
('빨강', '파랑', '노랑')
데이터 읽기
Python
print(colors[1])
실행 결과
파랑
변경 불가
튜플은 한 번 저장하면 값을 수정하거나 삭제할 수 없습니다. 아래 코드를 실행하면 오류가 발생합니다.
Python
colors[0] = "초록"
튜플 반복
Python
for color in colors:\n print(color)
6.4 Dictionary(딕셔너리)
딕셔너리(Dictionary)는 키(Key)와 값(Value)으로 데이터를 저장합니다. 회원 정보, 상품 정보 등에서 많이 사용됩니다.
딕셔너리 생성
Python
student = {\n "이름": "홍길동",\n "나이": 20,\n "학과": "컴퓨터공학"\n}
값 출력
Python
print(student["이름"])\nprint(student["나이"])
실행 결과
홍길동
20
20
값 수정
Python
student["나이"] = 21
실행 결과
{'이름': '홍길동', '나이': 21, '학과': '컴퓨터공학'}
데이터 추가
Python
student["학년"] = 2
실행 결과
{'이름': '홍길동', '나이': 20, '학과': '컴퓨터공학', '학년': 2}
데이터 삭제
Python
del student["학과"]
실행 결과
{'이름': '홍길동', '나이': 20}
반복문 사용
Python
for key in student:\n print(key, ":", student[key])
실행 결과
이름 : 홍길동
나이 : 20
학과 : 컴퓨터공학
나이 : 20
학과 : 컴퓨터공학
6.5 Set(집합)
Set은 중복을 허용하지 않는 자료구조입니다. 또한 저장 순서가 없습니다.
Python
numbers = {1, 2, 3, 4}
실행 결과
{1, 2, 3, 4}
중복 제거
Python
numbers = {1, 2, 2, 3, 3, 4}
실행 결과
{1, 2, 3, 4}
데이터 추가
Python
numbers.add(4)
데이터 삭제
Python
numbers.remove(2)
반복문 사용
Python
for num in numbers:\n print(num)
※ Set은 순서가 없으므로 출력 순서는 달라질 수 있습니다.
6.6 자료구조 비교
| 자료구조 | 순서 | 중복 | 수정 가능 |
|---|---|---|---|
| List | O | O | O |
| Tuple | O | O | X |
| Dictionary | Key 순서 유지* | Key 중복 X | O |
| Set | X | X | O |
참고: Python 3.7 이상에서는 Dictionary는 입력한 순서를 유지합니다.
6.7 복합 예제
Python
students = [\n {"이름": "홍길동", "점수": 90},\n {"이름": "김철수", "점수": 80},\n {"이름": "이영희", "점수": 95}\n]\n\nfor student in students:\n print(student["이름"], student["점수"])
실행 결과
홍길동 90
김철수 80
이영희 95
김철수 80
이영희 95
📌 Chapter 6 핵심 정리
- 자료구조는 데이터를 효율적으로 저장하고 관리하는 방법이다.
- 리스트는 순서가 있는 데이터 구조로, 수정 및 삭제가 가능하다.
- 튜플은 수정이 불가능한 데이터 구조이다.
- 딕셔너리는 키와 값으로 데이터를 저장하며, 수정 및 삭제가 가능하다.
- 셋은 중복을 허용하지 않는 데이터 구조이다.