<Python> List Comprehension
- Developer/Python
- 2023. 7. 31.
반응형
리스트 내포(List Comprehension) 소개
파이썬의 리스트 내포(List Comprehension)는 간결하고 가독성 높은 방식으로 새로운 리스트를 생성하는 기능입니다.
리스트 내포를 사용하면 for 문을 사용하는 전통적인 방법보다 Python 코드를 더 효율적이고 표현력있게 작성할 수 있습니다.
기본 리스트 내포 사용법
기본적인 리스트 내포 구문은 아래와 같습니다.
[expression for item in iterable]
예를 들어, 0부터 9까지 숫자의 제곱 값으로 구성된 리스트를 생성해봅시다.
squares = [x ** 2 for x in range(10)]
print(squares) # 출력: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
이 구문은 다음과 같은 좀 더 긴 코드를 대신할 수 있습니다.
squares = []
for x in range(10):
squares.append(x ** 2)
조건을 사용한 리스트 내포
리스트 내포를 사용하면 다음과 같이 if 조건문을 사용하여 필터링 된 결과를 생성할 수 있습니다.
[expression for item in iterable if condition]
예를 들어, 0부터 9까지 짝수 숫자의 제곱 값을 필터링하여 새로운 리스트를 생성해봅시다.
even_squares = [x ** 2 for x in range(10) if x % 2 == 0]
print(even_squares) # 출력: [0, 4, 16, 36, 64]
중첩된 리스트 내포
리스트 내포를 중첩하여 사용하면 다차원 리스트를 생성하거나 변환할 수 있습니다. 다음과 같은 구문을 사용할 수 있습니다.
[expression for sublist in iterable for item in sublist]
예를 들어, 2차원 리스트의 각 요소를 제곱하여 새로운 2차원 리스트를 만듭니다.
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
squared_matrix = [[x ** 2 for x in row] for row in matrix]
print(squared_matrix) # 출력: [[1, 4, 9], [16, 25, 36], [49, 64, 81]]
리스트 내포의 활용
리스트 내포는 여러 가지 형태로 사용할 수 있으며, 이에 따라 다양한 문제를 해결할 수 있습니다.
다음은 몇 가지 예제입니다.
- 조건기반 리스트 생성: 특정 조건이 충족되는 데이터만 추출하여 리스트로 생성합니다.
- 문자열에서 단어 리스트 생성: 문자열을 처리하려면 구분자를 기반으로 단어 목록을 생성합니다.
- 데이터 변환: 각각의 요소를 특정 함수나 식을 사용하여 즉시 변환하는 리스트를 생성합니다.
이 글에서는 파이썬의 리스트 내포 기능에 대해 소개하였습니다.
리스트 내포는 간결하고 가독성이 좋은 방식으로 리스트를 생성할 수 있습니다.
패턴을 이해하고 사용하면 더 깔끔하고 효율적인 코드를 작성할 수 있습니다.
처음에는 익숙하지 않을 수 있으나, 자주 사용함으로써 리스트 내포 사용법을 숙달할 수 있습니다.
감사합니다.
'Developer > Python' 카테고리의 다른 글
<Python> 람다 함수와 map(), filter() 함수 (0) | 2023.08.02 |
---|---|
<Python> 함수 작성 및 호출 (0) | 2023.08.01 |
<Python> 반복문과 이터레이터 (0) | 2023.07.31 |
<Python> 조건문 및 제어 구조 사용 (0) | 2023.07.30 |
<Python> 불(bool) 연산자와 None 타입 (0) | 2023.07.30 |