잘난 척 한 줄 : 파이썬에서는 for문 한 줄로 리스트를 만들 수 있다. 그게 리스트 컴프리헨션이다.
List Comprehension이란?
List Comprehension은 반복문과 조건문을 사용해 리스트를 간결하게 생성하는 파이썬 문법이다.
왜 등장했는가 (배경 설명)
프로그래밍을 하다 보면 이런 작업을 정말 많이 한다.
예를 들어
- 숫자 리스트 만들기
- 기존 리스트를 변형하기
- 특정 조건에 맞는 값만 추출하기
전통적인 방식은 보통 이렇게 작성한다.
numbers = []
for i in range(10):
numbers.append(i)
문제는 이런 코드가 많아지면 코드가 길어지고 가독성이 떨어질 수 있다.
그래서 파이썬에서는 이 작업을 더 간단하게 만들었다.
👉 List Comprehension
이걸 사용하면 같은 작업을 이렇게 작성할 수 있다.
numbers = [i for i in range(10)]
코드 길이는 줄어들지만 의미는 그대로 유지된다.
핵심 구조 / 작동 원리
리스트 컴프리헨션의 기본 구조는 생각보다 단순하다.
[표현식 for 변수 in 반복가능객체]
예를 들어
numbers = [i for i in range(5)]
결과
[0, 1, 2, 3, 4]
여기에 계산도 넣을 수 있다.
squares = [x*x for x in range(5)]
결과
[0, 1, 4, 9, 16]
조건문도 추가 가능하다
리스트 컴프리헨션은 조건 필터링도 지원한다.
even_numbers = [x for x in range(10) if x % 2 == 0]
결과
[0, 2, 4, 6, 8]
구조 요약
| 구성 요소 | 역할 |
| 표현식 | 결과 리스트에 들어갈 값 |
| for | 반복 수행 |
| if | 조건 필터 |
어디에 쓰이는가 (실제 사례)
리스트 컴프리헨션은 파이썬 코드에서 매우 자주 사용된다.
1. 데이터 변환
리스트의 값을 변형할 때 사용한다.
prices = [100, 200, 300]
discounted = [p * 0.9 for p in prices]
2. 데이터 필터링
특정 조건을 만족하는 값만 추출한다.
numbers = [1,2,3,4,5,6]
even = [n for n in numbers if n % 2 == 0]
3. 문자열 처리
문자열 리스트 변환에도 사용된다.
words = ["python", "ai", "data"]
upper_words = [w.upper() for w in words]
4. 데이터 분석
데이터 전처리 과정에서도 많이 사용된다.
특히
- pandas 데이터 처리
- 데이터 정제 작업
같은 상황에서 자주 등장한다.
왜 지금 중요한가 (시대 맥락 연결)
파이썬은
- 데이터 분석
- 머신러닝
- AI 개발
같은 분야에서 가장 많이 사용되는 언어 중 하나다.
그리고 파이썬 코드 스타일에서 중요한 기준이 하나 있다.
👉 코드는 짧고 읽기 쉬워야 한다
리스트 컴프리헨션은 이 철학을 잘 보여주는 문법이다.
장점
리스트 컴프리헨션의 가장 큰 장점은 코드가 간결해진다는 점이다.
같은 작업을 더 짧게 작성할 수 있고 가독성도 좋아진다.
또한 일반적인 for문보다 실행 속도가 빠른 경우도 있다.
한계 또는 리스크
하지만 지나치게 복잡하게 사용하면 오히려 코드 이해가 어려워질 수 있다.
예를 들어
- 중첩 반복문
- 복잡한 조건문
이런 구조가 들어가면 가독성이 떨어질 수 있다.
그래서 보통
👉 간단한 변환 작업에 사용하는 것이 좋다.
핵심 정리
| 항목 | 내용 |
| 정의 | 리스트를 간결하게 생성하는 문법 |
| 핵심 구조 | [expression for item in iterable] |
| 장점 | 코드 간결성 |
| 활용 | 데이터 변환, 필터링 |
마무리 (산업적 / 경제적 의미 확장)
프로그래밍에서 중요한 것은 단순히 작동하는 코드가 아니다.
👉 읽기 쉬운 코드
특히 협업 환경에서는 코드 가독성이 매우 중요하다.
리스트 컴프리헨션은 이런 파이썬 철학을 잘 보여주는 문법이다.
결국 핵심은 이거다.
👉 같은 일을 더 간단하게 표현하는 방법
리스트 컴프리헨션은 그 대표적인 예다.
참고 자료
- Python 공식 문서 (List Comprehensions)
https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions - Python Language Reference
https://docs.python.org - Real Python 튜토리얼
https://realpython.com - Python Software Foundation
https://www.python.org
Python 3.14 documentation
The official Python documentation.
docs.python.org
Python Tutorials – Real Python
Learn Python online: Python tutorials for developers of all skill levels, Python books and courses, Python news, code examples, articles, and more.
realpython.com
Welcome to Python.org
The official home of the Python Programming Language
www.python.org
참고 영상
'개념 잡동사니' 카테고리의 다른 글
| 대관(government relations) (3) | 2026.03.16 |
|---|---|
| 플랫폼 아그노스틱(platform agnostic) (0) | 2026.03.15 |
| TPU(Tensor Processing Unit) (0) | 2026.03.13 |
| 중첩학습(Stacking / Stacked Learning) (0) | 2026.03.12 |
| 퍼널 분석(Funnel Analysis) (0) | 2026.03.11 |