집합 (Set)
코딩Python
읽는데 3분 소요
처음 쓰여진 날: 2026-04-11
마지막 수정일: 2026-04-11
조회수: 2
선수학습(1개)
요약
Python 집합(set)의 add, remove, update, 교집합, 합집합, 차집합 연산까지. 정보처리기사 실기에 출제되는 집합 핵심 개념을 정리합니다.
집합 핵심 정리
| 개념 | 설명 | 예시 |
|---|---|---|
| 집합 생성 | 중복 없는 데이터 저장 | s = {1, 2, 3} |
| 집합 add | 요소 하나 추가 | s.add(4) |
| 집합 remove | 요소 하나 제거 | s.remove(2) |
| 집합 update | 여러 요소를 한 번에 추가 | s.update([5, 6]) |
| 교집합 (&) | 두 집합에 공통으로 있는 요소 | a & b |
| 합집합 (|) | 두 집합의 모든 요소 | a | b |
| 차집합 (-) | 한 집합에만 있는 요소 | a - b |
집합(set) 기초 기초
집합(set) 은 수학의 집합 개념을 구현한 자료구조입니다. 두 가지 중요한 특성이 있습니다.
- 중복 허용 안 함: 같은 값을 여러 번 추가해도 하나만 저장됩니다.
- 순서 없음: 인덱스로 접근할 수 없고, 저장 순서가 보장되지 않습니다.
python
코드 하이라이팅 중...
집합 메서드 기초
| 메서드 | 설명 | 예시 |
|---|---|---|
add(값) | 요소 하나를 집합에 추가 | s.add(4) |
remove(값) | 집합에서 요소 하나를 제거 (없으면 오류) | s.remove(2) |
update(반복가능객체) | 여러 요소를 집합에 한 번에 추가 | s.update([5, 6, 7]) |
discard(값) | 요소 제거 (없어도 오류 없음) | s.discard(10) |
python
코드 하이라이팅 중...
remove와 discard의 차이
remove()는 존재하지 않는 요소를 제거하려 하면 KeyError가 발생합니다. discard()는 존재하지 않아도 오류 없이 무시합니다. 시험에서는 주로 remove()가 출제됩니다.
집합 연산 심화
파이썬 집합은 수학의 집합 연산을 기호로 표현할 수 있습니다.
| 연산 | 기호 | 설명 |
|---|---|---|
| 교집합 | & | 두 집합에 모두 있는 요소 |
| 합집합 | | | 두 집합의 모든 요소 (중복 제거) |
| 차집합 | - | 앞 집합에만 있는 요소 |
| 대칭 차집합 | ^ | 한쪽에만 있는 요소 |
python
코드 하이라이팅 중...
메서드로도 동일한 연산을 수행할 수 있습니다.
python
코드 하이라이팅 중...