파이썬 Comprehension

개발자 강세영·2022년 5월 2일
0

TIL

목록 보기
11/66

파이썬의 Comprehension은 반복가능한 객체를 생성할때 유용하다.

파이썬에는 크게 네 가지 종류의 Comprehension이 있다.

  • List Comprehension (LC)
  • Set Comprehension (SC)
  • Dict Comprehension (DC)
  • Generator Expression (GE)

기본 구문 형식
[ ( 변수를 활용한 값 ) 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

  • 제너레이터만 만들기 때문에 내용을 확인하려면 list나 tuple등으로 형변환 해야 한다.
  • 파이썬에서 튜플 컴프리헨션은 따로 없고, GE를 튜플로 만들면 된다.
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. 유연하며 여러가지 방법으로 응용 가능하다.

0개의 댓글