리스트 컴프리헨션(List Comprehension)은 파이썬에서 간결하게 리스트를 생성하는 방법 중 하나입니다. 리스트 컴프리헨션은 한 줄의 코드로 리스트를 생성하고 각 요소에 특정 연산을 적용할 수 있도록 합니다.
기본 구조
[expression for item in iterable if condition]
- expression: 각 요소에 대한 계산식이나 표현식입니다.
- item: 이터러블(iterable)에서 가져온 요소를 나타냅니다.
- iterable: 순회 가능한 객체로, 리스트, 튜플, 문자열 등이 될 수 있습니다.
- condition (선택사항): 조건식으로, 해당 조건이 True인 경우에만 expression을 적용합니다.
리스트 컴프리헨션의 예제
1. 기본 형태
squares = [x**2 for x in range(5)]
# [0, 1, 4, 9, 16]
이 예제에서는 0부터 4까지의 숫자에 대해 제곱한 값을 리스트로 생성합니다.
2. 조건을 포함한 형태
even_squares = [x**2 for x in range(10) if x % 2 == 0]
# [0, 4, 16, 36, 64]
이 예제에서는 0부터 9까지의 숫자 중에서 짝수에 대해 제곱한 값을 리스트로 생성합니다.
3. 문자열 조작
words = ["apple", "banana", "cherry"]
capitalized_words = [word.upper() for word in words]
# ['APPLE', 'BANANA', 'CHERRY']
이 예제에서는 문자열 리스트의 각 단어를 대문자로 변환한 값을 리스트로 생성합니다.
4. 이중 리스트 컴프리헨션
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened_matrix = [num for row in matrix for num in row]
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
이 예제에서는 이중 리스트를 평탄화(flatten)하여 1차원 리스트로 생성합니다.
리스트 컴프리헨션은 코드를 간결하게 작성할 수 있고, 반복문과 조건문을 한 줄에 표현할 수 있어 가독성이 높아집니다. 그러나 너무 복잡하게 작성되지 않도록 주의해야 합니다.
With ChatGPT
'Python > 포스팅' 카테고리의 다른 글
파이썬 함수 매개변수와 인수 (0) | 2023.12.03 |
---|---|
파이썬 함수 (0) | 2023.12.02 |
파이썬 for문의 range 함수 (0) | 2023.12.02 |
파이썬 for 문과 continue 문 (0) | 2023.12.02 |
파이썬 for문 (0) | 2023.12.02 |