리스트 컴프리헨션(List Comprehension)은 리스트를 생성하는 간결하고 가독성 높은 방법입니다. 기존 리스트에서 새로운 리스트를 생성할 때, 특정 조건에 따라 원소를 선택하거나 변형할 수 있습니다.
### 기본 구조
기본적인 리스트 컴프리헨션의 구조는 다음과 같습니다.
```python
[expression for item in iterable if condition]
```
- `expression`: 새로운 리스트의 원소가 될 표현식입니다.
- `item`: `iterable`에서 순차적으로 선택되는 각 원소입니다.
- `iterable`: 순회할 수 있는 객체(리스트, 튜플, 세트, 딕셔너리, 문자열 등)입니다.
- `condition`: 원소를 선택할 조건입니다. 이 조건을 만족하는 원소만 새로운 리스트에 포함됩니다.
### 예제
#### 기본 사용법
```python
# 0부터 9까지의 정수를 갖는 리스트 생성
numbers = [x for x in range(10)]
# 출력: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
```
#### 조건 추가
```python
# 0부터 9까지의 짝수를 갖는 리스트 생성
even_numbers = [x for x in range(10) if x % 2 == 0]
# 출력: [0, 2, 4, 6, 8]
```
#### 복잡한 표현식
```python
# 0부터 9까지의 정수를 제곱한 값을 갖는 리스트 생성
squares = [x ** 2 for x in range(10)]
# 출력: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
```
리스트 컴프리헨션은 코드를 간결하게 만들어주지만, 복잡한 로직에서는 가독성을 해칠 수 있으니 적절히 사용하는 것이 좋습니다.
'python' 카테고리의 다른 글
| python - Python에서 딕셔너리 언패킹(**) 이해하기 (0) | 2024.01.10 |
|---|---|
| Python - 슬라이스 구문 이해하기 (2) | 2023.12.22 |
| python - 람다 함수의 이해 (0) | 2023.10.01 |
| python - Python bisect (0) | 2023.05.02 |
| python - Python heapq (0) | 2023.05.02 |