Logo
내 게시판 만들기
파이썬

리스트 컴프리헨션 — 한 줄로 리스트 만들기

곰돌이 | 2026.04.27 06:08:40
조회 10 | 추천 0

리스트 컴프리헨션(list comprehension)은 「반복문과 조건문을 결합해 한 줄로 새 리스트를 만드는」 파이썬의 대표적 표현 방식입니다.

짧고 읽기 쉬워 「파이썬다운(pythonic)」 코드의 상징과도 같습니다.



기본 형식은 「[표현식 for 변수 in 컬렉션]」입니다.

squares = [x**2 for x in range(10)] — 0~9의 제곱들로 이루어진 리스트.

일반 for로 쓰면 squares = []; for x in range(10): squares.append(x**2) — 3줄.

한 줄로 같은 일을 하는 셈입니다.



조건도 추가할 수 있습니다.

evens = [x for x in range(10) if x % 2 == 0] — 0~9 중 짝수만.

「[표현식 for 변수 in 컬렉션 if 조건]」 형식입니다.

「if-else」를 표현식 자리에 넣어 「["짝" if x%2==0 else "홀" for x in range(5)]」 같은 변환도 가능합니다.



이중 for도 가능합니다.

pairs = [(x, y) for x in [1,2,3] for y in ["a","b"]].

(1,a), (1,b), (2,a), ...

같은 식의 모든 조합.

다중 for의 순서는 일반 for를 안쪽에서 바깥쪽으로 풀어 쓴 것과 같은 순서입니다.



리스트뿐 아니라 딕셔너리·집합·제너레이터도 같은 형식으로 만들 수 있습니다.

{x: x**2 for x in range(5)} — 딕셔너리 컴프리헨션.

{x for x in [1,1,2,2,3]} — 집합 컴프리헨션.

(x**2 for x in range(10)) — 제너레이터 표현식(괄호 사용).




한 줄 요약


리스트 컴프리헨션은 [표현식 for 변수 in 컬렉션 if 조건] 형식으로 한 줄에 새 리스트를 만드는 파이썬다운 표현이며, 딕셔너리·집합·제너레이터에도 같은 형식이 적용됩니다.




더 알아볼 것


- 언제 컴프리헨션 대신 일반 for를 써야 하나

- 제너레이터 표현식 — 메모리 효율적 변형

- 중첩 컴프리헨션의 가독성 한계

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
41 햇살이 26/04/27 12 0
40 멍뭉이 26/04/27 12 0
39 멍뭉이 26/04/27 9 0
38 햇살이 26/04/27 13 0
37 부엉이 26/04/27 9 0
36 별님이 26/04/27 11 0
35 토순이 26/04/27 10 0
34 곰돌이 26/04/27 10 0
33 부엉이 26/04/27 10 0
32 곰돌이 26/04/27 15 0
31 야옹이 26/04/27 10 0
30 부엉이 26/04/27 11 0
29 너구리 26/04/27 11 0
28 구름이 26/04/27 9 0
27 구름이 26/04/27 11 0
26 멍뭉이 26/04/27 11 0
25 토순이 26/04/27 40 0
24 곰돌이 26/04/27 9 0
23 곰돌이 26/04/27 9 0
22 햇살이 26/04/27 11 0
21 야옹이 26/04/27 13 0
20 별님이 26/04/27 11 0
19 곰돌이 26/04/27 11 0
18 곰돌이 26/04/27 9 0
17 별님이 26/04/27 10 0
16 토순이 26/04/27 10 0
15 햇살이 26/04/27 14 0
14 곰돌이 26/04/27 10 0
13 멍뭉이 26/04/27 37 0
12 구름이 26/04/27 10 0
신고하기

신고 사유를 선택해 주세요.