콘텐츠로 이동

02. 자료구조 (데이터 정리 정돈)

"데이터가 많아지면 서랍이 필요합니다. 용도에 맞는 서랍을 골라 쓰는 법을 배웁니다."

1. 리스트 (List) - 순서가 있는 목록

가장 많이 쓰이는 자료구조입니다. 순서대로 줄을 세워 저장합니다. 대괄호 []를 사용합니다.

  • 특징: 순서가 있음 (인덱스), 수정 가능, 중복 허용
  • 비유: 기차 (1호차, 2호차...), 할 일 목록
todo_list = ["파이썬 공부", "운동하기", "책 읽기"]
print(todo_list[0])  # 파이썬 공부 (첫 번째)
todo_list.append("자기")  # 맨 뒤에 추가

리스트 필수 기술 (Toolbox)

  • append(값): 맨 뒤에 추가 (줄 서기)
  • insert(번호, 값): 중간에 끼워넣기 (새치기)
  • pop(): 맨 뒤의 값을 꺼내고 지우기 (손님 등장)
  • remove(값): 특정 값을 찾아 지우기 (불량품 제거)
  • len(리스트): 리스트의 길이(개수) 재기

2. 딕셔너리 (Dictionary) - 이름표가 달린 서랍

순서보다는 "이름(Key)으로 값(Value)을 찾는 것"이 중요할 때 씁니다. 중괄호 {}를 사용합니다.

  • 특징: Key-Value 쌍, Key는 중복 불가, 검색이 매우 빠름
  • 비유: 주소록, 사전 (단어: 뜻), JSON 데이터
user = {
    "name": "Ideabong",
    "age": 20,
    "is_admin": True
}
print(user["name"])  # Ideabong

3. 튜플 (Tuple) & 세트 (Set)

튜플 (Tuple)

리스트와 똑같은데 절대 내용을 바꿀 수 없습니다. (Read-only) 소괄호 ()를 사용합니다. * 용도: 변하면 안 되는 설정값, 좌표 등.

튜플 언패킹 (Unpacking)

튜플을 쓰면 여러 변수에 값을 한 번에 쏘아줄 수 있습니다.

(x, y) = (10, 20)
print(x)  # 10
print(y)  # 20

세트 (Set)

중복을 허용하지 않는 주머니입니다. 순서가 없습니다. * 용도: "참석자 명단에서 중복 제거해줘" 같은 작업.

numbers = [1, 1, 2, 3, 3]
unique_numbers = set(numbers)  # {1, 2, 3}