파이썬 집합(Set) 자료형 정리
파이썬의 집합(Set)은 중복을 허용하지 않고, 순서가 없는 자료형입니다.
수학에서 배우는 집합과 동일한 개념으로 이해하면 됩니다.
1. 집합 기본 구조
집합이름 = {값1, 값2, 값3}
예시:
numbers = {1, 2, 3}
- 중괄호 {} 사용
- 중복 허용하지 않음
- 순서 없음 (인덱스 사용 불가)
2. 집합 생성 방법
1) 기본 생성
data = {1, 2, 3, 4}
2) 중복 제거 예시
data = {1, 1, 2, 2, 3}
print(data)
print(data)
출력:
{1, 2, 3}
자동으로 중복이 제거됩니다.
3) 빈 집합 생성 (주의)
data = set()
주의:
data = {}
위 코드는 빈 딕셔너리입니다.
빈 집합을 만들려면 반드시 set()을 사용해야 합니다.
3. 집합의 특징
- 중복을 허용하지 않는다.
- 순서가 없다.
- 인덱싱이 불가능하다.
- 수학적 집합 연산이 가능하다.
4. 집합 연산 (가장 중요)
A = {1, 2, 3}
B = {3, 4, 5}
B = {3, 4, 5}
1) 교집합 (intersection)
print(A & B)
또는
print(A.intersection(B))
출력:
{3}
2) 합집합 (union)
print(A | B)
또는
print(A.union(B))
출력:
{1, 2, 3, 4, 5}
3) 차집합 (difference)
print(A - B)
또는
print(A.difference(B))
출력:
{1, 2}
5. 값 추가 / 삭제
1) 값 1개 추가
data = {1, 2, 3}
data.add(4)
data.add(4)
2) 여러 개 추가
data.update([5, 6])
3) 값 삭제
data.remove(2)
주의: 존재하지 않는 값을 삭제하면 오류 발생
안전한 삭제:
data.discard(10)
존재하지 않아도 오류가 발생하지 않습니다.
6. 리스트와 집합의 차이
리스트
arr = [1, 2, 2, 3]
- 중복 허용
- 순서 있음
- 인덱스 가능
집합
data = {1, 2, 3}
- 중복 불가
- 순서 없음
- 인덱스 불가
7. 실전 활용 예시 (중복 제거)
names = ["홍길동", "홍길동", "이순신"]
unique_names = set(names)
print(unique_names)
unique_names = set(names)
print(unique_names)
출력:
{'홍길동', '이순신'}
데이터 정제 작업에서 매우 자주 사용됩니다.
핵심 정리
집합(Set)은
- 중복 제거가 필요할 때
- 빠른 포함 여부 확인이 필요할 때
- 수학적 집합 연산이 필요할 때
사용하는 자료형이다.
'복습(Python)' 카테고리의 다른 글
| 02 - 7 변수 (0) | 2026.03.03 |
|---|---|
| 02 - 6 불(bool) 자료 (0) | 2026.03.03 |
| 02 - 4 딕셔너리 자료형 (0) | 2026.03.03 |
| 02 - 3 튜플 자료형 (0) | 2026.02.25 |
| 02 - 2 리스트 자료형 (0) | 2026.02.25 |