파이썬 반복문(for, while)과 리스트 컴프리헨션 정복하기

"같은 작업을 여러 번 해야 한다면? 일일이 작성할 필요 없이 반복문을 사용하세요!"

반복문은 프로그램의 생산성을 높여주는 필수 기능입니다.
특히 파이썬에서는 리스트 컴프리헨션(List Comprehension)이라는 강력한 문법까지 제공하죠.

 

✔ for, while 반복문
✔ 리스트 컴프리헨션


파이썬 반복문과 리스트 컴프리헨션

1. for 반복문 기본 구조

for 변수 in 반복가능한_객체:
    실행할 코드

예시

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)
  • 리스트, 문자열, 튜플 등 반복 가능한 객체를 순회합니다.

2. while 반복문 기본 구조

while 조건:
    실행할 코드

예시

count = 0

while count < 5:
    print(count)
    count += 1
  • 조건이 True인 동안 계속 실행합니다.
  • 탈출 조건을 명확히 설정하지 않으면 무한 루프에 빠질 수 있으니 주의!

3. 반복문 제어문 – break, continue

  • break: 반복문 즉시 종료
  • continue: 현재 반복을 건너뛰고 다음 반복 진행

예시

for i in range(10):
    if i == 5:
        break
    print(i)
for i in range(5):
    if i == 2:
        continue
    print(i)

4. 리스트 컴프리헨션 (List Comprehension)

"짧고 간결하게 리스트를 만들 수 없을까?"
리스트 컴프리헨션을 사용하면 가능합니다!

 

기본 구조

[표현식 for 변수 in 반복가능한_객체 if 조건]

 

예시 – 일반 for문 버전

squares = []
for i in range(5):
    squares.append(i * i)

 

리스트 컴프리헨션 버전

squares = [i * i for i in range(5)]

5. 리스트 컴프리헨션 실전 예시

짝수만 뽑기

evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # [0, 2, 4, 6, 8]
 

문자열 길이 리스트 만들기

words = ["apple", "banana", "cherry"]
lengths = [len(word) for word in words]
print(lengths)  # [5, 6, 6]
 

중첩 for문 사용하기

pairs = [(x, y) for x in range(3) for y in range(3)]
print(pairs)
# [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

 


결론 – 반복문과 리스트 컴프리헨션을 정복하면?

반복문은 프로그램의 핵심 구조 중 하나!
for, while을 자유자재로 다루고,
리스트 컴프리헨션을 활용하면
코드를 훨씬 짧고, 읽기 쉽게 작성할 수 있습니다. 

처음에는 일반 for문으로 작성하고,
익숙해지면 점차 리스트 컴프리헨션으로 최적화하는 연습 해보시기 바랍니다.