딕셔너리 (Dictionary)

코딩Python
읽는데 6분 소요
처음 쓰여진 날: 2026-04-11
마지막 수정일: 2026-05-22
조회수:

요약

Python 딕셔너리 생성·접근·메서드(items/values/get)·빈도 카운팅·컴프리헨션까지. 정보처리기사 실기에 출제되는 딕셔너리 핵심 개념을 정리합니다.

딕셔너리 핵심 정리

개념설명예시
딕셔너리 생성키-값 쌍으로 데이터 저장d = {"a": 1, "b": 2}
딕셔너리 접근키를 사용하여 값 조회d["a"]1
keys / values / items키·값·쌍을 차례대로 꺼내기d.items()[('a',1), ...]
get(key, default)키가 없으면 기본값 반환d.get("x", 0)0
sum / len값의 합과 항목 수 집계sum(d.values()), len(d)
딕셔너리 컴프리헨션반복문으로 딕셔너리 생성{i: i*2 for i in lst}

딕셔너리 기초 쌩기초

딕셔너리(Dictionary) 는 키(key)와 값(value)의 쌍으로 데이터를 저장하는 자료구조입니다. 키를 통해 값에 빠르게 접근할 수 있습니다.

딕셔너리 생성

python
코드 하이라이팅 중...

딕셔너리 접근 및 수정

python
코드 하이라이팅 중...

키 목록과 값 목록 조회

python
코드 하이라이팅 중...

enumerate()를 활용하면 반복문에서 인덱스와 값을 동시에 얻을 수 있습니다.

python
코드 하이라이팅 중...

딕셔너리 메서드로 순회하기 기초

keys()·values()·items()는 각각 키만, 값만, 키와 값 쌍을 하나씩 꺼내주는 메서드입니다. for문과 결합하면 딕셔너리 전체를 훑으면서 작업을 할 수 있습니다.

python
코드 하이라이팅 중...

items()의 결과는 (키, 값) 튜플 묶음입니다. for k, v in d.items()처럼 두 변수로 받으면 튜플이 자동으로 분해되어 k에는 키, v에는 값이 들어갑니다.

sum(d.values()) — 값의 합 집계

sum()은 이터러블의 모든 값을 더해주는 내장 함수입니다. values()가 값만 꺼내주므로 sum(d.values()) 하나로 딕셔너리 전체 값의 합계를 구할 수 있습니다.

python
코드 하이라이팅 중...
표현식꺼내는 값결과
sum(d.values())값만값 전체의 합
sum(d.keys())키만 (숫자 키일 때)키 전체의 합
len(d)키-값 쌍의 개수

get(key, default) — 키가 없을 때 기본값 반환 기초

딕셔너리에서 값을 꺼낼 때 d["x"]처럼 대괄호로 접근하면 키가 없을 경우 KeyError가 발생합니다. get() 메서드는 키가 있으면 값을, 없으면 미리 정해 둔 기본값을 돌려줍니다.

python
코드 하이라이팅 중...
접근 방식키 있을 때키 없을 때
d[key]값 반환KeyError 발생
d.get(key)값 반환None 반환
d.get(key, default)값 반환default 반환

빈도수 카운팅 패턴

get(key, default)의 가장 큰 쓰임새는 빈도수 카운팅입니다. 문자열이나 리스트를 순회하며 각 요소가 몇 번 등장하는지 세는 패턴에서, d[key] = d.get(key, 0) + 1 한 줄로 "처음 본 키는 0에서 시작, 이미 본 키는 기존 값에 +1"을 표현할 수 있습니다.

python
코드 하이라이팅 중...

한 줄씩 풀어 보면 다음과 같습니다.

반복chfreq.get(ch, 0)freq[ch] = ... 이후 freq
1b0 (없음){'b': 1}
2a0 (없음){'b': 1, 'a': 1}
3n0 (없음){'b': 1, 'a': 1, 'n': 1}
4a1{'b': 1, 'a': 2, 'n': 1}
5n1{'b': 1, 'a': 2, 'n': 2}
6a2{'b': 1, 'a': 3, 'n': 2}

get이 없다면 "키가 있으면 +1, 없으면 1로 초기화" 두 가지 경우를 if-else로 나누어 써야 합니다. get(ch, 0) 덕분에 첫 등장도 초기값 0에서 출발하므로 분기 없이 한 줄로 끝납니다.

python
코드 하이라이팅 중...

빈도 + 집계 결합

빈도 딕셔너리를 만든 뒤 sum(d.values())로 전체 글자 수를, len(d)서로 다른 글자의 종류 수를 한꺼번에 구할 수 있습니다.

python
코드 하이라이팅 중...

딕셔너리 컴프리헨션 기초

딕셔너리 컴프리헨션 은 반복문과 조건식을 사용하여 딕셔너리를 한 줄로 생성하는 문법입니다. 기본 형식·예시·조건 필터링, 그리고 리스트·집합·제너레이터 컴프리헨션과의 비교(같은 중괄호도 콜론 유무로 딕셔너리·집합이 갈리는 포인트)는 컴프리헨션 통합 정리 페이지에서 한 자리에 정리합니다.


정보처리기사 실기 기출 문제

후수학습(1개)
딕셔너리 (Dictionary) | 정처기 감자