처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / Python / 문제

Python에서 제너레이터 표현식(generator expression)과 리스트 컴프리헨션의 핵심 차이점은?

쉬움 freeCodeCamp
보기 및 정답
A 제너레이터 표현식은 값을 지연 생성(lazy)하여 메모리를 절약하고, 리스트 컴프리헨션은 모든 값을 즉시 메모리에 저장한다
B 제너레이터 표현식은 리스트 컴프리헨션보다 항상 실행 속도가 느리고 메모리 사용량도 더 많은 단점이 있다
C 리스트 컴프리헨션으로 생성된 리스트는 for 루프로 반복(iteration)할 수 없으며 인덱싱 방식으로만 요소에 접근이 가능하다
D 제너레이터 표현식과 리스트 컴프리헨션은 완전히 동일한 객체를 생성하며 성능이나 기능상 차이가 없다

해설

제너레이터 표현식 (x for x in range(n))은 소괄호를 사용하며, 값을 한 번에 하나씩 생성하여 메모리를 절약합니다. 리스트 컴프리헨션 [x for x in range(n)]은 대괄호를 사용하며, 모든 요소를 즉시 리스트에 담습니다. 대용량 데이터에는 제너레이터가 유리합니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기