Python 기초집LESSON 11
리스트·딕셔너리 컴프리헨션
난이도입문
예상 시간30분
선수지식이전 강의
11강. 리스트·딕셔너리 컴프리헨션
1. 이번 강의에서 해결할 문제
단순 변환을 위한 반복문이 길어지면 핵심 규칙이 숨습니다. 입력, 변환, 필터가 명확한 경우 컴프리헨션으로 새 컬렉션을 만듭니다.
2. 학습 목표
3. 핵심 개념
[변환 for 항목 in 반복가능 if 조건]은 새 리스트를 만듭니다. 딕셔너리는 {키: 값 for ...} 형태입니다. 중첩이 깊거나 부작용이 있으면 일반 반복문이 더 읽기 쉽습니다.
4. 단계별 코드 예시
파일 경로: C:\dev\game-log-analyzer\main.py
main.py
records = [
{"skill": "slash", "damage": 80},
{"skill": "fireball", "damage": 150},
{"skill": "slash", "damage": 120},
]
high_damages = [r["damage"] for r in records if r["damage"] >= 100]
skill_names = {r["skill"] for r in records}
max_by_skill = {
skill: max(r["damage"] for r in records if r["skill"] == skill)
for skill in skill_names
}
print("고피해:", high_damages)
print("스킬별 최대:", max_by_skill)
PowerShell · 실행
py -3.13 .\main.py
5. 코드가 동작하는 이유
각 record가 조건을 통과하면 damage만 새 리스트에 들어갑니다. 집합 컴프리헨션은 스킬 중복을 제거합니다. 딕셔너리 컴프리헨션은 각 고유 스킬에 해당하는 최대 피해를 연결합니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2리스트·딕셔너리 컴프리헨션 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
11강. 리스트·딕셔너리 컴프리헨션 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.