파이썬 세트 집합 연산 방법 완전정복: 합집합, 교집합, 차집합, 실전 활용까지!
파이썬 세트(Set) 집합 연산, 헷갈리시나요? 이 글 하나면 합집합, 교집합, 차집합, 대칭차집합 등 모든 집합 연산의 원리와 실전 예제, 주의사항까지 완벽하게 정리할 수 있습니다. 세트는 중복 없는 데이터를 다루고, 빠른 집합 연산이 필요한 상황에서 필수적인 자료형입니다. 실무와 코딩테스트 모두에서 자주 등장하는 만큼, 이번 기회에 확실히 익혀두세요!
많은 분들이 "합집합과 교집합은 어떻게 구하지?", "집합 연산자와 메서드의 차이는?", "중복 제거와 데이터 비교, 효율적인 활용법은?" 등 다양한 고민을 하시죠. 이 글에서 모든 궁금증을 해결해드립니다.
📋 목차
🔍세트(Set) 기본 개념과 생성법
파이썬 세트는 중복 없는 데이터 집합을 표현하는 자료형입니다. 순서가 없고, 인덱싱이 불가능합니다.
# 세트 생성 s1 = {1, 2, 3} s2 = set([1][2][3]) empty_set = set() # 빈 세트는 반드시 set()으로 생성
리스트나 튜플을 set()으로 변환하면 중복이 자동 제거됩니다.
한줄 요약: 세트는 중복 없는, 순서 없는 데이터 집합!
📝세트 요소 추가·삭제 방법
세트에 요소를 추가할 때는 add(), update()를, 삭제할 때는 remove(), discard()를 사용합니다.
메소드 | 설명 | 예시 |
---|---|---|
add(x) | 단일 요소 추가 | s1.add(4) |
update(iter) | 여러 요소 한꺼번에 추가 | s1.update([3][4]) |
remove(x) | 요소 삭제(없으면 에러) | s1.remove(2) |
discard(x) | 요소 삭제(없어도 에러 없음) | s1.discard(10) |
한줄 요약: add, update, remove, discard로 세트 요소를 관리!
⚡합집합·교집합·차집합·대칭차집합 연산
파이썬 세트는 합집합, 교집합, 차집합, 대칭차집합 등 다양한 집합 연산을 지원합니다.
연산 | 연산자 | 메서드 | 예시 |
---|---|---|---|
합집합 | | | union() | A | B, A.union(B) |
교집합 | & | intersection() | A & B, A.intersection(B) |
차집합 | - | difference() | A - B, A.difference(B) |
대칭차집합 | ^ | symmetric_difference() | A ^ B, A.symmetric_difference(B) |
A = {1, 2, 3} B = {3, 4, 5} print(A | B) # 합집합: {1, 2, 3, 4, 5} print(A & B) # 교집합: {3} print(A - B) # 차집합: {1, 2} print(A ^ B) # 대칭차집합: {1, 2, 4, 5}
한줄 요약: 집합 연산은 연산자와 메서드 모두 지원!
📋연산자 vs 메서드 비교
파이썬 세트는 연산자(|, &, -, ^)와 메서드(union, intersection 등) 모두로 집합 연산이 가능합니다.
- 연산자는 직관적이고 간단한 코드에 적합
- 메서드는 여러 집합을 한 번에 연산하거나, 가독성이 필요한 경우 유용
- 연산자와 메서드 모두 결과는 새로운 세트를 반환(원본 변경 없음)
# 연산자 방식 result = set1 | set2 # 메서드 방식 result = set1.union(set2)
한줄 요약: 상황에 맞게 연산자와 메서드를 자유롭게 활용!
💡실전 활용 예제와 꿀팁
세트는 중복 제거, 데이터 비교, 빠른 검색 등 다양한 상황에서 유용합니다.
- 리스트 중복 제거:
list(set([5][6][6][1]))
- 데이터 비교:
set1 & set2
로 공통 요소 추출 - 포함 여부 확인:
값 in set1
(O(1) 속도) - 여러 집합의 합집합:
set1 | set2 | set3
- 리스트/튜플 ↔ 세트 변환으로 활용 범위 확장
- 세트는 중복 없는 데이터와 집합 연산에 최적
- 합집합(|, union), 교집합(&, intersection), 차집합(-, difference), 대칭차집합(^, symmetric_difference)
- add, update, remove, discard 등으로 요소 관리
한줄 요약: 세트는 집합 연산과 중복 제거에 최강!
💡주의사항 및 실전 팁
- 세트는 순서가 없으므로 인덱싱 불가(리스트 변환 후 사용)
- 빈 세트는 반드시
set()
으로 생성(중괄호 {}는 딕셔너리) - 세트의 요소는 변경 불가(immutable) 타입만 가능
- add/remove는 단일 요소, update/discard는 여러 요소 처리
- 집합 연산 결과는 항상 새로운 세트 반환(원본 불변)
한줄 요약: 세트의 순서, 타입, 빈 세트 생성에 주의!
- 파이썬 세트는 합집합, 교집합, 차집합, 대칭차집합 등 다양한 집합 연산 지원
- add, update, remove, discard 등으로 요소 추가·삭제 가능
- 중복 제거, 데이터 비교, 빠른 검색 등 실전에서 매우 유용
도움이 되셨다면 공감♥ 눌러주세요!
파이썬 세트 집합 연산, 이제 완벽하게 이해하셨나요? 다음 글에서는 세트 컴프리헨션, frozenset, 고급 활용법 등 더 깊이 있는 내용을 다룰 예정입니다. 궁금한 점이나 추가 질문은 댓글로 남겨주세요! 구독과 알림 설정도 잊지 마세요.
#파이썬세트 #집합연산 #합집합 #교집합 #차집합 #대칭차집합 #set활용 #중복제거 #파이썬기초 #파이썬2025
'IT silo' 카테고리의 다른 글
파이썬 클래스와 객체 만들기: 실전 예제와 완벽 가이드 (1) | 2025.06.29 |
---|---|
파이썬 문자열 포맷팅 f-string 완전정복: 쉽고 강력한 실전 활용법! (0) | 2025.06.29 |
파이썬 딕셔너리 활용법 총정리: 실전 예제와 꿀팁까지 한눈에! (0) | 2025.06.29 |
파이썬 재귀함수 구현 방법: 기초부터 실전까지 완벽 가이드 (1) | 2025.06.29 |
파이썬 지역변수와 전역변수 이해: 스코프와 실전 활용 완벽 가이드 (0) | 2025.06.29 |