반응형
Chapter 02. 자료구조 문제풀이
파이썬 자료구조 핵심 정리
리스트 · 튜플 · 딕셔너리
1️⃣ 자료구조란?
자료구조란 여러 개의 데이터를 효율적으로 저장하고 관리하기 위한 구조를 의미한다. 파이썬에서는 기본적으로 리스트, 튜플, 딕셔너리와 같은 자료구조를 제공하며, 각각의 특성에 따라 사용 목적이 달라진다.
2️⃣ 리스트(List)
리스트는 여러 개의 값을 순서대로 저장할 수 있는 자료구조이며, 가장 많이 사용된다.
✔ 리스트의 특징
- 순서가 있다
- 중복 허용
- 값 변경 가능 (mutable)
numbers = [1, 2, 3, 4]
✔ 리스트 아이템 추가
numbers.append(5)
numbers.insert(1, 10)
✔ 리스트 아이템 삭제
numbers.remove(10)
del numbers[0]
numbers.pop()
✔ 리스트 정렬과 순서 뒤집기
numbers.sort()
numbers.reverse()
✔ 리스트 슬라이싱
numbers[1:3]
3️⃣ enumerate() 함수
enumerate() 함수는 리스트를 반복문에서 사용할 때 인덱스와 값을 동시에 가져올 수 있게 해준다.
fruits = ['apple', 'banana', 'cherry']
for idx, fruit in enumerate(fruits):
print(idx, fruit)
4️⃣ 튜플(Tuple)
튜플은 리스트와 비슷하지만, 한 번 생성되면 값을 변경할 수 없는 자료구조다.
✔ 튜플의 특징
- 순서 있음
- 중복 허용
- 값 변경 불가 (immutable)
point = (10, 20)
✔ 튜플 조회 및 슬라이싱
point[0]
point[0:2]
✔ 튜플과 반복문
for x in point:
print(x)
i = 0
while i < len(point):
print(point[i])
i += 1
✔ 리스트 vs 튜플
| 구분 | 리스트 | 튜플 |
| 값 변경 | 가능 | 불가능 |
| 사용 목적 | 데이터 수정 | 고정 데이터 |
5️⃣ 딕셔너리(Dictionary)
딕셔너리는 key-value(키-값) 형태로 데이터를 저장하는 자료구조다.
person = {'name': 'Alice', 'age': 25}
✔ 딕셔너리 조회
person['name']
person.get('age')
✔ 딕셔너리 추가·수정
person['job'] = 'developer'
person['age'] = 26
✔ 딕셔너리 삭제
del person['job']
person.pop('age')
✔ keys(), values(), items()
person.keys()
person.values()
person.items()
✔ 딕셔너리 반복문
for key, value in person.items():
print(key, value)
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
리스트, 튜플, 딕셔너리를 각각 따로 배우면 단순한 문법처럼 느껴지지만, 연습문제를 통해 반복적으로 사용해보면 각 자료구조의 역할이 명확해진다. 특히 어떤 상황에서 리스트를 쓰고, 언제 튜플이나 딕셔너리를 선택해야 하는지 감이 잡히기 시작한다.
자료구조는 단순히 외워서 쓰는 개념이 아니라, 데이터를 어떤 관점으로 바라볼 것인지를 결정하는 사고 도구라는 생각이 들었다. 같은 데이터라도 리스트로 볼지, 튜플로 고정할지, 딕셔너리로 관계를 표현할지에 따라 코드의 의미가 완전히 달라진다.
🚀 적용점
- 데이터가 자주 변경되면 리스트 사용
- 변하지 않는 값의 묶음은 튜플로 선언
- 의미 있는 정보 쌍은 딕셔너리로 구조화
- 반복문과 함께 자료구조를 적극적으로 활용하기
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -23 (0) | 2025.12.20 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -22 (0) | 2025.12.19 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -20 (0) | 2025.12.17 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -19 (0) | 2025.12.16 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -18 (0) | 2025.12.15 |