파이썬의 내포 표기법(Comprehension)

2023. 8. 26. 18:09PYTHON

파이썬의 내포 표기법(Comprehension)은 리스트, 세트, 딕셔너리와 같은 컬렉션 데이터 타입을 생성할 때 간결하고 읽기 쉬운 방식을 제공합니다. 내포 표기법은 주로 반복문과 조건문을 결합하여 사용하며, 간단한 연산을 포함할 수 있습니다.

 

1. 리스트 내포(List Comprehension)

기본 형태 : [expression for item in iterable if condition]

# 일반적인 방법
squared_numbers = []
for i in range(10):
    squared_numbers.append(i * i)

# 리스트 내포를 사용한 방법
squared_numbers = [i * i for i in range(10)]

 

조건을 추가한 예제:

# 짝수의 제곱만 계산
squared_even_numbers = [i * i for i in range(10) if i % 2 == 0]

 

2. 세트 내포(Set Comprehension)

기본 형태 : '{expression for item in iterable if condition}'

예제:

# 짝수만 포함하는 세트
even_numbers = {i for i in range(10) if i % 2 == 0}

 

3. 딕셔너리 내포(Dictionary Comprehension):

기본 형태: '{key_expression: value_expression for item in iterable if condition}'

예제:

# 각 숫자와 그 제곱값을 가진 딕셔너리
squared_dict = {i: i * i for i in range(5)}

내포 표기법은 간결하고 읽기 쉽지만, 너무 복잡한 로직이나 중첩된 내포는 가독성을 해칠 수 있으므로 적절한 상황에서 사용하는 것이 중요합니다.