728x90
파이썬의 컴프리헨션(comprehension)은 주로 리스트, 세트, 딕셔너리와 같은 컬렉션 데이터 타입을 생성하기 위해 간결하게 작성할 수 있는 구문입니다. 이를 사용하면 반복문과 조건문을 사용해 여러 줄로 작성되는 코드를 한 줄로 간단하게 표현할 수 있어 코드의 가독성을 높일 수 있습니다.
1. 리스트 컴프리헨션 (List Comprehension)
리스트 컴프리헨션은 대괄호 [ ] 안에 표현식과 for문을 사용하여 리스트를 생성합니다. 필요에 따라 if문을 추가하여 특정 조건을 만족하는 요소만 리스트에 포함시킬 수 있습니다.
- 기본 형태:
[표현식 for 항목 in 반복가능객체 if 조건]
- 예시:
numbers = [1, 2, 3, 4, 5] squares = [x**2 for x in numbers] # [1, 4, 9, 16, 25]
2. 세트 컴프리헨션 (Set Comprehension)
세트 컴프리헨션은 중괄호 { }를 사용하여 세트를 생성합니다. 리스트 컴프리헨션과 유사하게 작성되며, 중복을 허용하지 않는 세트의 특성을 가집니다.
- 기본 형태:
{표현식 for 항목 in 반복가능객체 if 조건}
3. 딕셔너리 컴프리헨션 (Dictionary Comprehension)
딕셔너리 컴프리헨션은 중괄호 { }를 사용하며, 각 항목을 키:값 쌍으로 생성합니다.
- 기본 형태:
{키: 값 for 항목 in 반복가능객체 if 조건}
- 예시:
words = ["apple", "banana", "cherry"] word_length = {word: len(word) for word in words} # {'apple': 5, 'banana': 6, 'cherry': 6}
컴프리헨션을 사용하면 코드가 더 간결해지고, 이해하기 쉬워집니다. 하지만 너무 복잡한 컴프리헨션은 오히려 가독성을 해칠 수 있으니 적절한 수준에서 사용하는 것이 중요합니다.
728x90
반응형
'공부 > Python' 카테고리의 다른 글
[Python] all() 함수 (0) | 2024.05.10 |
---|---|
[Python] swap (0) | 2024.04.17 |
[Python] for-else while-else (0) | 2024.04.16 |
[점프 투 파이썬 ] 05장 클래스, 모듈 패키지, 예외처리, 내장함수, 라이브러리 (0) | 2023.04.09 |
[점프 투 파이썬 ] 04장 입력과 출력 (0) | 2023.04.09 |