기억해야 할 구조
- 먼저 결과로 넣고 싶은 값을 씁니다.
- 그다음 반복 변수 이름을 씁니다.
- 이어서 반복할 원본 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) <= 8 | append 전에 거는 조건 |
패턴 이미지
주의할 점
한 줄에 너무 많은 로직을 밀어 넣지 않는 것이 좋습니다. 읽기 어려워지기 시작하면 일반 반복문이 더 명확한 경우가 많습니다.