**리스트 컴프리헨션(List Comprehension)**은 아주 간단하게 말해 **"for 반복문을 한 줄로 압축해서 새로운 리스트를 만드는 방법"**입니다. 파이썬의 매우 강력하고 인기 있는 기능 중 하나입니다.

념을 확실히 잡기 위해, 일반적인 for 반복문과 리스트 컴프리헨션을 나란히 비교해 보겠습니다.


두 방식의 비교: 똑같은 작업을 다르게 표현하기

목표: 두 리스트 ab의 각 요소를 더해서 새로운 리스트 result_data를 만든다.

1. 일반적인 for 반복문 방식

우리가 흔히 사용하는 방식입니다. 3단계로 이루어집니다.

# 1단계: 결과를 담을 빈 리스트를 먼저 만든다.
result_data = []

# 2단계: for 반복문으로 a와 b의 길이만큼 반복한다.
for i in range(min_len):
    
    # 3단계: 각 요소를 더한 결과를 빈 리스트에 하나씩 추가(append)한다.
    result_data.append(a[i] + b[i])

print(result_data)

2. 리스트 컴프리헨션 방식

위의 1, 2, 3단계를 단 한 줄로 합친 것입니다.

result_data = [a[i] + b[i] for i in range(min_len)]

print(result_data)

두 코드는 완벽하게 동일한 결과를 만들어냅니다. 리스트 컴프리헨션이 훨씬 간결하죠?

리스트 컴프리헨션 문법 구조

문법을 세 부분으로 나눠보면 더 이해하기 쉽습니다.

result_data = [ ① 최종 결과값 for ② 반복할 변수 in ③ 반복할 범위 ]