Python 리스트 컴프리헨션은 반복과 선택 조건을 식으로 표현해 새 리스트를 만드는 문법이다.
Python 주요 기능 |
|---|
Python 리스트 컴프리헨션 · Python 모듈 · Python 예외 처리 · Python venv · Python asyncio |
Python dataclass · Python pathlib · Python 타입 힌트 · Python unittest · Python 생성기 |
원리
원소를 순회하면서 변환 식을 평가하고 선택적으로 조건에 맞는 값만 포함한다. 결과를 한 번에 리스트로 만들므로 생성기 식과 메모리 사용 방식이 다르다.
예시
[x*x for x in range(5) if x%2 == 0]은 0, 4, 16을 담은 리스트를 만든다. 원래 입력 자료를 직접 수정할 필요가 없다.
주의할 점
중첩 반복이 많아지면 읽기 어려워진다. 부수 효과를 일으키는 함수 호출을 짧게 쓰는 수단으로 남용하지 말고 큰 입력에서 결과 전체를 메모리에 담아도 되는지 확인한다.