[Python] Comprehension

반응형
반응형

Comprehension는 iterable한 오브젝트를 생성하는 방법으로

list, dict, set 같은 오브젝트에 원소를 담을 때 주로 사용합니다. 

for문을 안에 넣어서 수행하기 때문에 짧은 코딩으로 만들 수 있습니다.

 

List comprehension

리스트를 생성하기 위한 comprehension 입니다.

간단하게 구성하면 아래와 같이 할 수 있습니다. 

 

sqaure = [x**2 for x in range(10)]
sqaure

 

조건문도 넣을 수 있습니다.

 

sqaure = [x**2 for x in range(10) if x%2==0]
sqaure

 

Set comprehension

set은 리스트와 다르게 동일원소가 안 나오는 경우입니다. 그것 말고는 List comprehension과 동일합니다.

 

sqaure = {x**2 for x in range(-2,10) if x**2==4}
sqaure

리스트였다면 [4,4]로 나왔겠지만 set이라서 {4}만 나옵니다.

 

 

Dict comprehension

딕셔너리는 key, value 구분을 해주면 됩니다. 

 

sqaure_x = [x for x in range(0,10)]
sqaure_y = [x**2 for x in range(0,10)]
sqaure_func  ={key:value for key,value in zip(sqaure_x,sqaure_y)}
sqaure_func

 

 

 

동작 방식 및 용어는 이전 포스팅을 참고해주세요.

 

 

 

관련 포스팅

[Python/기초] - [Python] iter와 next

[Python/기초] - [Python] Set

[Python/기초] - [Python] list

[Python/기초] - [Python] 딕셔너리(dictionary)

 

데이터목장님의
글이 좋았다면 응원을 보내주세요!

Designed by JB FACTORY