Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- c++코딩테스트합격자되기
- 다형성
- 스택
- 주피터
- 얕은복사
- 연산자오버로딩
- C++
- 동적바인딩
- 기본클래스
- 코드잇
- 프로그래머스lv2
- 데이터사이언스
- 유도클래스
- 상속
- 멤버함수로구현
- OOP
- OpenCV
- python
- 백준
- 11382번
- 제네릭프로그래밍
- 인프런
- 람다식
- 참조자
- 코딩테스트
- 깊은복사
- STL
- 점프투파이썬
- list comprehension
- 포인터
Archives
- Today
- Total
WjExplor Story
파이썬 리스트 컴프리헨션 (List Comprehension) 본문
# 파이썬 리스트 컴프리헨션 (List Comprehension)
## 1. 리스트 컴프리헨션이란?
파이썬에서 리스트를 생성하는 간결하고 효율적인 방법입니다. 기존의 리스트(또는 다른 반복 가능한 객체)를 기반으로 새로운 리스트를 만들 때 사용합니다. 일반적인 for 루프와 append() 메서드를 사용하는 것보다 코드가 짧고 가독성이 좋으며, 때로는 성능도 더 좋습니다.
## 2. 기본 문법
[표현식 for 항목 in 반복가능객체]
## 3. 조건문이 포함된 문법
[표현식 for 항목 in 반복가능객체 if 조건]
4. 예제
예제 1: 간단한 변환 (각 숫자를 제곱하기)
numbers = [1, 2, 3, 4, 5]
# 일반적인 for 루프
squared_numbers_for = []
for num in numbers:
squared_numbers_for.append(num**2)
print(f"for 루프: {squared_numbers_for}")
# 리스트 컴프리헨션
squared_numbers_comp = [num**2 for num in numbers]
print(f"리스트 컴프리헨션: {squared_numbers_comp}")
예제 2: 조건문을 이용한 필터링 (짝수만 선택하기)
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 일반적인 for 루프
even_numbers_for = []
for num in numbers:
if num % 2 == 0:
even_numbers_for.append(num)
print(f"for 루프: {even_numbers_for}")
# 리스트 컴프리헨션
even_numbers_comp = [num for num in numbers if num % 2 == 0]
print(f"리스트 컴프리헨션: {even_numbers_comp}")
예제 2: 조건문을 이용한 필터링 (짝수만 선택하기) 예제 3: 변환과 필터링 동시에 (짝수의 제곱만 선택하기)
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 일반적인 for 루프
squared_even_for = []
for num in numbers:
if num % 2 == 0:
squared_even_for.append(num**2)
print(f"for 루프: {squared_even_for}")
# 리스트 컴프리헨션
squared_even_comp = [num**2 for num in numbers if num % 2 == 0]
print(f"리스트 컴프리헨션: {squared_even_comp}")
### 예제 4: 중첩된 리스트 컴프리헨션 (구구단)
# 2단부터 9단까지의 구구단 결과 리스트
multiplication_table = [f"{i} x {j} = {i*j}" for i in range(2, 10) for j in range(1, 10)]
# print(multiplication_table) # 결과가 길어서 주석 처리
print(f"구구단 일부 예시: {multiplication_table[:5]} ...") # 앞부분만 출력
## 5. 언제 리스트 컴프리헨션을 사용하는 것이 좋을까?
- 기존 리스트를 기반으로 새로운 리스트를 만들 때
- 코드를 더 간결하고 읽기 쉽게 만들 때
- 간단한 변환이나 필터링 작업에 특히 유용합니다.
- 너무 복잡한 로직은 가독성을 해칠 수 있으므로, 그럴 때는 일반 for 루프를 사용하는 것이 좋습니다.
'Python > Python : Code Study' 카테고리의 다른 글
| 리스트 중첩 (0) | 2025.09.25 |
|---|---|
| *args의 역할 (0) | 2025.09.25 |
| [Microsoft 공식 문서] 초보자를 위한 Python Git 링크 (0) | 2025.09.24 |
| [점프투파이썬] 06-6 하위 디렉터리 검색하기 (1) | 2025.09.20 |
| 피보나치 수열에서 4백만 이하이면서 짝수인 항의 합 (0) | 2025.09.19 |