반응형
리스트 컴프리헨션(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를 함께 사용하여 다양한 변환 가능
반응형
'IT > Python Basic' 카테고리의 다른 글
[Python] 초급 개념16 - random 모듈 활용 (0) | 2025.02.19 |
---|---|
[Python] 초급 개념15 - 날짜와 시간 (datetime, time 모듈) (0) | 2025.02.19 |
[Python] 초급 개념14 - 모듈과 패키지 (import, from, as) (0) | 2025.02.18 |
[Python] 초급 개념13 - 클래스와 객체 (OOP 기본 개념) (0) | 2025.02.18 |
[Python] 초급 개념11 - 문자열 다루기 (split, join, format 등) (0) | 2025.02.18 |
[Python] 초급 개념10 - 예외 처리 (try-except) (0) | 2025.02.18 |
[Python] 초급 개념9 - 파일 입출력 (I/O) (0) | 2025.02.18 |
[Python] 초급 개념8 - 집합 (set) (0) | 2025.02.18 |
댓글