태코놀로지

자료구조와 컴프리헨션(Comprehension) 본문

Python3/EECS-WinterSchool

자료구조와 컴프리헨션(Comprehension)

태코놀로지 2017. 1. 28. 21:35

2.4 Comprehension for data structure

컴프리헨션(comprehension)은 하나 이상의 이터레이터로부터 파이썬의 자료구조를 만드는 컴팩트한 방법이다. 컴프리헨션은 비교적 간편한 구문으로 반복문과 조건 테스트를 결합할 수 있도록 해준다. 때때로 컴프리헨션을 사용하는 것은 초급 이상의 단계에서 파이썬을 어느 정도 알고 있다는 것을 의마한다. 즉, 더 파이써닉하게 파이썬을 사용한다는 것을 의미한다.


리스트 컴프리헨션(List Comprehension)

대표적인 컴프리헨션 방법에는 리스트 컴프리헨션이 있다. 대괄호 안에 for 구문을 사용하여 리스트를 초기화 함으로써 컴프리헨션 기능을 수행할 수 있다. 리스트의 요소로 리스트가 포함될 수 있는 만큼, 컴프리헨션 역시 중첩되서 사용이 가능하다. 그러나 파이써닉하게 코딩하면서도, 가독성을 해치지 않는 범위까지만 컴프리헨션 중첩을 사용하자.



사전 컴프리헨션(Dictionary Comprehension)

사전 자료형(Dictionary) 역시 이터레이터 자료 구조이므로 컴프리헨션 방법을 적용할 수 있다. 리스트 컴프리헨션이 대괄호 안에 for 구문을 통해서 컴프리헨션을 구현했다면, 사전 자료형은 중괄호를 사용한다는 차이점만 있을 뿐 대부분의 내용은 동일하다.



집합 컴프리헨션(Set Comprehension)

집합 자료형(Set) 역시 이터레이터 자료 구조이므로 컴프리헨션 방법을 적용할 수 있다. 사전 자료형이 중괄호를 사용해서 컴프리헨션을 적용한 것과 동일하게 집합 자료형 역시 중괄호를 사용한다. 한 가지 큰 차이점은 사전 자료형의 경우 [Key : Value] 쌍에 대응되는 형태로 적용하고, 집합 자료형은 단순 나열하는 방식으로 구현한다.



Comments