십대를 위한 코딩/십대를 위한 파이썬

파이썬 딕셔너리 내포― 한 줄로 만드는 똑똑한 데이터 매핑

forSilver 2025. 5. 15. 03:06
반응형

파이썬 딕셔너리 내포
― 한 줄로 만드는 똑똑한 데이터 매핑

파이썬의 리스트 내포(list comprehension)는 이미 많은 사람이 익숙하게 사용하고 있지만,
딕셔너리 내포(dictionary comprehension)는 비교적 덜 알려져 있습니다.
이번 글에서는 딕셔너리 내포의 기본 개념과 활용법, 조건문을 포함한 고급 예제까지 함께 소개하겠습니다.


1. 기본 구조

{key_expr: value_expr for item in iterable}

2. 예제 1: 리스트를 딕셔너리로

words = ['apple', 'banana', 'cherry']
lengths = {w: len(w) for w in words}
{'apple': 5, 'banana': 6, 'cherry': 6}

3. 예제 2: 제곱값 딕셔너리

squares = {n: n**2 for n in range(1, 6)}

4. 예제 3: 조건문 포함

{n: n**2 for n in range(10) if n % 2 == 0}

5. 예제 4: if-else 분기

{score: 'pass' if score >= 60 else 'fail' for score in [45, 67, 89, 32]}

6. 예제 5: zip으로 병합

keys = ['a', 'b', 'c']
vals = [1, 2, 3]
{k: v for k, v in zip(keys, vals)}

7. 예제 6: 중첩 반복

{(i, j): i*j for i in range(3) for j in range(3)}

✅ 마무리 요약

구문 유형 설명
{k: v for x in iterable} 기본 구조
{k: v for x in iterable if 조건} 조건 필터링
{k: A if 조건 else B for x in iterable} 조건 분기값
{(i, j): 값 for i in A for j in B} 중첩 반복

📌 다음 글 예고

다음 글에서는 집합 내포(set comprehension)를 소개합니다.
중복 없이 고유한 값만 뽑아내는 방법을 기대해 주세요!