데이터를 담고, 꺼내고, 바꾸는 기술!
파이썬의 핵심 자료 구조인 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 집합(Set)를 예제와 함께 정리해봅니다.
✅ 컬렉션 자료형이란?
파이썬에서 컬렉션(Collection) 자료형이란
하나 이상의 값을 담을 수 있는 자료형을 말해요.
서로 다른 자료형을 포함할 수도 있고, 반복문과 함께 자주 사용됩니다.
파이썬의 4대 컬렉션 자료형
| 자료형 | 중복 허용 | 순서 있음 | 변경 가능 |
| 리스트 (list) | ✅ | ✅ | ✅ |
| 튜플 (tuple) | ✅ | ✅ | ❌ |
| 딕셔너리 (dict) | 🔑 Key 중복 ❌ | ✅ | ✅ |
| 집합 (set) | ❌ | ❌ | ✅ |
1️⃣ 리스트 (List)
📌 리스트란?
- 여러 개의 값을 하나의 변수에 담을 수 있는 순서 있는 자료형
- 값 수정 가능 (mutable)
numbers = [1, 2, 3, 4, 5]
mixed = [1, "Python", True, [2, 3]]
🔍 리스트 인덱싱 & 슬라이싱
print(numbers[0]) # 1
print(numbers[-1]) # 5
print(numbers[1:4]) # [2, 3, 4]
- 인덱스는 0부터 시작
- 슬라이싱은 [시작:끝] (끝 인덱스는 포함하지 않음)
🔧 리스트 메서드
| 메서드 | 설명 | 예시 |
| append(x) | 맨 뒤에 요소 추가 | a.append(6) |
| insert(i, x) | i 위치에 x 삽입 | a.insert(1, 99) |
| remove(x) | 첫 번째 x 제거 | a.remove(3) |
| pop() | 마지막 요소 반환 및 삭제 | a.pop() |
| sort() | 정렬 | a.sort() |
| reverse() | 뒤집기 | a.reverse() |
| clear() | 전체 요소 삭제 | a.clear() |
2️⃣ 튜플 (Tuple)
📌 튜플이란?
- 리스트와 비슷하지만 **수정이 불가능(immutable)**한 자료형
- 괄호 ()로 감싸서 생성
t1 = (1, 2, 3)
t2 = 1, 2, 3 # 소괄호 생략 가능
t3 = (1,) # 요소가 1개일 때는 반드시 콤마 필요!
✅ 튜플은 언제 쓸까?
- 수정되면 안 되는 데이터일 때
- 성능을 조금 더 중요하게 생각할 때 (리스트보다 빠름)
3️⃣ 딕셔너리 (Dictionary)
📌 딕셔너리란?
- 키(key):값(value) 형태로 데이터를 저장하는 구조
- 순서 있음 (Python 3.7부터), 중복된 key는 허용되지 않음
person = {"name": "짱구", "age": 20, "job": "developer"}
🔎 딕셔너리 접근 & 수정
print(person["name"]) # 짱구
person["age"] = 22 # 값 수정
person["city"] = "Busan" # 새 항목 추가
🔧 딕셔너리 메서드
| 메서드 | 설명 |
| keys() | 키 목록 반환 |
| values() | 값 목록 반환 |
| items() | (키, 값) 튜플 목록 |
| get(key) | 키에 해당하는 값 반환 (key가 없을 때 None 반환) |
| pop(key) | 키에 해당하는 항목 삭제 |
| clear() | 전체 삭제 |
📌 for문과 함께 사용
for key in person:
print(key, ":", person[key])
# 또는
for k, v in person.items():
print(k, "=", v)
4️⃣ 집합 (Set)
📌 집합이란?
- 수학의 집합 개념과 동일: 중복을 허용하지 않음, 순서 없음
- 리스트나 문자열에서 중복 제거할 때 유용
s1 = set([1, 2, 3, 3, 2])
print(s1) # {1, 2, 3}
🔧 집합 연산
| 연산 | 기호 | 예시 | 결과 |
| 교집합 | & | s1 & s2 | 공통 요소 |
| 합집합 | | | s1 | s2 | 두 집합의 모든 요소 (중복 제거) |
| 차집합 | - | s1 - s2 | s1에만 있는 요소 |
s1 = set([1, 2, 3])
s2 = set([3, 4, 5])
print(s1 & s2) # {3}
print(s1 | s2) # {1, 2, 3, 4, 5}
print(s1 - s2) # {1, 2}
🔧 집합 메서드
| 메서드 | 설명 |
| add(x) | x 추가 |
| update([x, y]) | 여러 요소 추가 |
| remove(x) | x 제거 |
✅ 정리 요약
자료형 특징 주요 용도 리스트 [ ] 순서 O, 변경 O, 중복 O 일반적인 데이터 저장 튜플 ( ) 순서 O, 변경 ❌, 중복 O 고정 데이터 저장 딕셔너리 { } 키-값 구조, 순서 O 조건/이름 있는 데이터 집합 set( ) 순서 ❌, 중복 ❌ 중복 제거, 집합 연산
📝 다음 글 예고
조건문과 반복문: if, for, while을 활용한 흐름 제어 완전정복!
'SK-Rookies > 파이썬' 카테고리의 다른 글
| [파이썬] while문 완전정복 (break, continue, 무한루프) (0) | 2025.07.03 |
|---|---|
| [파이썬] if문 제대로 배우기 (조건식, elif, 조건부 표현식까지!) (0) | 2025.07.03 |
| [파이썬] 불(bool) 자료형 & 연산자 – 조건 판단의 핵심 기초 (0) | 2025.06.27 |
| [파이썬] 변수와 자료형 – Python 기초 개념 정리 (0) | 2025.06.26 |
| [파이썬] Python이란? 파이썬 기초 개념 정리 (입문자를 위한 Overview) (0) | 2025.06.26 |