04. 리스트 캄프리헨션
- 1) 리스트 캄프리헨션이란?
- 리스트 캄프리헨션은 파이썬에서 리스트를 간결하게 생성하는 방법 중 하나입니다.
- 보통 반복문과 조건문을 사용하여 리스트를 생성할 때 사용됩니다.
- 이는 코드를 더 간결하고 가독성 있게 만들어 줍니다.
- 리스트 캄프리헨션은 파이썬의 강력한 기능 중 하나로, 데이터 처리 및 변환에 유용하게 활용됩니다.
- 기본적인 구조는 아래와 같습니다.
# 기본적인 구조 :
[표현식 for 항목 in iterable if 조건문]
- 2) 리스트 캄프리헨션 예제
- 위 예시에서 **표현식**은 각 항목에 대한 계산이나 변환을 의미하고, **항목**은 반복되는 값이며, **iterable**은 반복 가능한 객체입니다.
- **if 조건문**은 선택적으로 사용될 수 있으며, 조건이 참일 때만 해당 항목을 결과 리스트에 추가합니다.
- 리스트 캄프리헨션은 루프문과 비교했을 때 코드가 간결하고 가독성이 좋으며, 데이터 처리 및 변환 작업을 더 효율적으로 수행할 수 있도록 도와줍니다.
# 예시: 1부터 10까지의 숫자를 제곱한 리스트 생성
squares = [x**2 for x in range(1, 11)]
print(squares) # 출력: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 예시: 리스트에서 짝수만 선택하여 제곱한 리스트 생성
even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]
print(even_squares) # 출력: [4, 16, 36, 64, 100]
# 예시: 문자열 리스트에서 각 문자열의 길이를 저장한 리스트 생성
words = ["apple", "banana", "grape", "orange"]
word_lengths = [len(word) for word in words]
print(word_lengths) # 출력: [5, 6, 5, 6]
# 예시: 리스트 컴프리헨션을 중첩하여 2차원 리스트 생성
matrix = [[i for i in range(1, 4)] for j in range(3)]
print(matrix) # 출력: [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
- 위 예시에서 **표현식**은 각 항목에 대한 계산이나 변환을 의미하고, **항목**은 반복되는 값이며, **iterable**은 반복 가능한 객체입니다.
- **if 조건문**은 선택적으로 사용될 수 있으며, 조건이 참일 때만 해당 항목을 결과 리스트에 추가합니다.
- 리스트 캄프리헨션은 루프문과 비교했을 때 코드가 간결하고 가독성이 좋으며, 데이터 처리 및 변환 작업을 더 효율적으로 수행할 수 있도록 도와줍니다.
'Python 개념' 카테고리의 다른 글
알고리즘의 시간 복잡도 - Big-O 표기법 (0) | 2024.09.04 |
---|---|
Enumerate 개념 (0) | 2024.09.04 |
List append, extend, insert 개념 (0) | 2024.09.04 |
JUPYTER NOTEBOOK 활용법 (0) | 2024.08.08 |
기본 개념 DUMP (0) | 2024.07.30 |