파이썬의 Comprehension은 반복가능한 객체를 생성할때 유용하다.
파이썬에는 크게 네 가지 종류의 Comprehension이 있다.
기본 구문 형식
[ ( 변수를 활용한 값 ) for ( 사용할 변수 이름 ) in ( 순회할 수 있는 값 ) if (조건)]
List Comprehension
new_list = [new_item for item in iterable if condition]
Set Comprehension
new_set = {new_item for item in iterable if condition}
Dict Comprehension
new_dict = {new_key:new_value for item in iterable if condition}
Generator Expression
new_gen = (new_item for item in iterable if condition)
new_tuple = tuple(new_item for item in iterable if condition)
예시
list = [num for num in range(1,6)]
[1,2,3,4,5]
list = [num for num in range(10) if num % 2 == 0]
[0,2,4,6,8]
Comprehension을 쓰는 이유
1. for 반복문보다 더 간결하고 pythonic 하다.
2. 일반적으로 실행속도가 for 반복문보다 빠르다.
3. 유연하며 여러가지 방법으로 응용 가능하다.