[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

    ....