본문 바로가기
language/python

조건문, 반복문, 리스트 컴프리헨션 – Python 제어 흐름 완전 정복

by 죄니안죄니 2025. 4. 19.

들어가며

어떤 언어를 배우든 가장 먼저 접하게 되는 구조 중 하나가 조건문과 반복문입니다.
Python은 매우 직관적이고 간결한 문법으로 제어 흐름을 표현할 수 있으며, 특히 **리스트 컴프리헨션(List Comprehension)**은 Python만의 대표적인 간결 표현 기법입니다.

이 글에서는 language/python 카테고리 주제로 Python의 if, for, while 그리고 list comprehension 문법까지 실제 예제 중심으로 정리합니다.


1. 조건문 (if, elif, else)

x = 10
if x > 0:
    print("양수입니다")
elif x == 0:
    print("0입니다")
else:
    print("음수입니다")
  • 들여쓰기(indent)로 블록을 표현합니다 (: 필수)
  • elif는 여러 조건 분기를 구성할 때 사용
  • Python에서는 switch문 대신 if-elif 체계를 사용

조건식 응용

score = 85
print("합격" if score >= 60 else "불합격")  # 삼항 연산자

2. 반복문 – for, while

✅ for 문

for i in range(5):
    print(i)
  • range(n)은 0부터 n-1까지 반복
  • 문자열, 리스트, 튜플 등 반복 가능한(iterable) 객체도 순회 가능
for c in "hello":
    print(c)

✅ while 문

i = 0
while i < 5:
    print(i)
    i += 1
  • 조건이 참일 동안 반복

✅ break, continue

for i in range(5):
    if i == 3:
        break   # 루프 종료
    if i == 1:
        continue  # 이번만 건너뜀
    print(i)

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

기존의 반복문을 한 줄로 간결하게 표현하는 문법입니다.

기본형

squares = [x * x for x in range(5)]
# 결과: [0, 1, 4, 9, 16]

조건 필터링

even = [x for x in range(10) if x % 2 == 0]

이중 루프

pairs = [(x, y) for x in range(3) for y in range(2)]

문자열 필터링

vowels = [c for c in "alphabet" if c in "aeiou"]

리스트 컴프리헨션 vs for 문 비교

# 일반 for 문
result = []
for x in range(5):
    result.append(x * 2)

# 리스트 컴프리헨션
result = [x * 2 for x in range(5)]
  • 동작은 같지만 코드 길이와 가독성에서 큰 차이
  • 다만, 너무 복잡한 로직은 for문이 더 명확할 수 있음

마치며

조건문과 반복문은 프로그램의 흐름을 제어하는 가장 기본적인 도구입니다.
Python은 이 구조를 매우 직관적으로 설계해, 짧고 가독성 좋은 코드를 작성할 수 있게 도와줍니다.

특히 리스트 컴프리헨션은 실무에서도 자주 쓰이므로 꼭 익혀두는 것이 좋습니다.

📂 다음 글에서는:

  • 함수 정의와 호출 방식
  • 매개변수의 종류 (*args, **kwargs)
  • 람다(lambda) 함수와 클로저 구조

등 Python 함수 관련 주제를 이어서 다루겠습니다.

 

 


📌 
이전 글 보러가기
👉 리스트, 튜플, 딕셔너리, 셋 – Python 핵심 자료구조 비교와 활용
📌 
다음 글 미리보기
👉 함수, 매개변수, *args, **kwargs, 스코프, 클로저, 데코레이터

📚 언어 Python 시리즈 전체 보기
👉 https://jobreview.tistory.com/category/language/python

댓글