Python컬렉션과 문자열

리스트 컴프리헨션

반복문, 조건식, 결과 표현식을 한 줄에 압축해 쓰는 Python 리스트 컴프리헨션의 기본 패턴입니다.

마지막 수정 2026년 3월 15일

기억해야 할 구조

  • 먼저 결과로 넣고 싶은 값을 씁니다.
  • 그다음 반복 변수 이름을 씁니다.
  • 이어서 반복할 원본 iterable을 지정합니다.
  • 특정 조건만 남기고 싶다면 마지막에 if를 붙입니다.

기본 예제

python
squares = [value * value for value in numbers]

short_names = [name for name in names if len(name) <= 8]

pairs = [(x, y) for x in range(3) for y in range(2)]

문장처럼 해석하기

컴프리헨션 요소반복문으로 풀어쓴 의미
value * value결과 리스트에 추가할 값
for value in numbers원본 리스트를 도는 for 반복문
if len(name) <= 8append 전에 거는 조건

패턴 이미지

왼쪽에서 오른쪽으로 결과 표현식, 반복 변수, 원본, 필터 순으로 읽으면 이해가 쉽습니다.

주의할 점

한 줄에 너무 많은 로직을 밀어 넣지 않는 것이 좋습니다. 읽기 어려워지기 시작하면 일반 반복문이 더 명확한 경우가 많습니다.