Python 딕셔너리와 집합(set)
코딩Python
읽는데 5분 소요
처음 쓰여진 날: 2026-02-18
마지막 수정일: 2026-02-18
조회수: 0
요약
Python 딕셔너리 컴프리헨션과 집합(set)의 add, remove, update, 교집합 연산까지. 정보처리기사 실기에 출제되는 딕셔너리와 집합 핵심 개념을 정리합니다.
딕셔너리와 집합 핵심 정리
| 개념 | 설명 | 예시 |
|---|---|---|
| 딕셔너리 생성 | 키-값 쌍으로 데이터 저장 | d = {"a": 1, "b": 2} |
| 딕셔너리 접근 | 키를 사용하여 값 조회 | d["a"] → 1 |
| 딕셔너리 컴프리헨션 | 반복문으로 딕셔너리 생성 | {i: i*2 for i in lst} |
| 집합 생성 | 중복 없는 데이터 저장 | s = {1, 2, 3} |
| 집합 add | 요소 하나 추가 | s.add(4) |
| 집합 remove | 요소 하나 제거 | s.remove(2) |
| 집합 update | 여러 요소를 한 번에 추가 | s.update([5, 6]) |
| 교집합 (&) | 두 집합에 공통으로 있는 요소 | a & b |
| 합집합 (|) | 두 집합의 모든 요소 | a | b |
| 차집합 (-) | 한 집합에만 있는 요소 | a - b |
딕셔너리 기초
딕셔너리(Dictionary) 는 키(key)와 값(value)의 쌍으로 데이터를 저장하는 자료구조입니다. 키를 통해 값에 빠르게 접근할 수 있습니다.
딕셔너리 생성
python
코드 하이라이팅 중...
딕셔너리 접근 및 수정
python
코드 하이라이팅 중...
키 목록과 값 목록 조회
python
코드 하이라이팅 중...
enumerate()를 활용하면 반복문에서 인덱스와 값을 동시에 얻을 수 있습니다.
python
코드 하이라이팅 중...
딕셔너리 컴프리헨션
딕셔너리 컴프리헨션 은 반복문과 조건식을 사용하여 딕셔너리를 한 줄로 생성하는 문법입니다.
python
코드 하이라이팅 중...
python
코드 하이라이팅 중...
조건식을 추가할 수도 있습니다.
python
코드 하이라이팅 중...
딕셔너리 컴프리헨션은 리스트 컴프리헨션과 괄호가 다릅니다
리스트 컴프리헨션은 대괄호 []를 사용하고, 딕셔너리 컴프리헨션은 중괄호 {}를 사용합니다. 또한 딕셔너리는 키: 값 형태로 콜론(:)으로 구분합니다.
집합(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
코드 하이라이팅 중...