본문 바로가기
IT/Python Basic

[Python] 초급 개념12 - 리스트 컴프리헨션

by Echinacea 2025. 2. 18.
반응형

리스트 컴프리헨션(List Comprehension)은 짧고 효율적인 방법으로 리스트를 생성하는 기법입니다. 반복문을 줄여 코드의 가독성을 높이고 실행 속도를 개선할 수 있습니다.


 

 

🔹 1. 기본 리스트 컴프리헨션

 

기본 문법

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

 

예제: 리스트 생성

numbers = [x for x in range(5)]
print(numbers)  # [0, 1, 2, 3, 4]

📌 설명:

  • range(5)의 값을 x에 할당하며 리스트를 생성함

 

 

🔹 2. 조건을 포함한 리스트 컴프리헨션

 

짝수만 포함

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

 

3의 배수만 포함

multiples_of_three = [x for x in range(10) if x % 3 == 0]
print(multiples_of_three)  # [0, 3, 6, 9]

📌 설명:

  • if 조건을 추가하여 원하는 값만 리스트에 포함할 수 있음

 

 

🔹 3. 리스트 컴프리헨션에서 값 변형

 

제곱값 리스트

squares = [x**2 for x in range(6)]
print(squares)  # [0, 1, 4, 9, 16, 25]

 

소문자를 대문자로 변환

words = ["hello", "world", "python"]
upper_words = [word.upper() for word in words]
print(upper_words)  # ['HELLO', 'WORLD', 'PYTHON']

📌 설명:

  • 리스트 컴프리헨션을 사용하면 각 요소를 원하는 값으로 변환할 수 있음

 

 

🔹 4. 중첩 반복문 활용

 

이중 반복문을 활용한 리스트 컴프리헨션

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

📌 설명:

  • 두 개의 반복문을 한 줄로 표현하여 리스트 생성 가능

 

 

🔹 5. 리스트 컴프리헨션과 if-else

 

홀수는 'Odd', 짝수는 'Even'으로 변환

labels = ["Even" if x % 2 == 0 else "Odd" for x in range(6)]
print(labels)  # ['Even', 'Odd', 'Even', 'Odd', 'Even', 'Odd']

📌 설명:

  • if-else를 사용하여 조건에 따라 리스트의 각 요소를 변환 가능

 

 

🔹 6. 마무리

이번 문서에서는 리스트 컴프리헨션의 기본 개념과 활용법을 학습했습니다.

 

핵심 요약

  • 리스트 컴프리헨션은 for 문을 한 줄로 표현할 수 있는 강력한 기법
  • 조건문을 추가하여 특정 요소만 포함 가능
  • 값을 변형하여 리스트 생성 가능
  • if-else를 함께 사용하여 다양한 변환 가능
반응형

댓글