[Python] Set

반응형
    반응형

    파이썬의 데이터 타입 중 set을 살펴볼까 합니다.

    set은 수학 시간에 배운 집합을 모티브로 만든 데이터 타입이라서 수학의 집합과 성질이 비슷합니다.

    순서가 없고 한 원소만 set에 들어갈 수 있습니다.

     

    예를 들어, 중복 원소가 있는 리스트를 set으로 바꾸면 중복원소가 없어집니다.

    s = set(['a','ab','c','cd','d','ab','cd'])
    s

    집합 모양도 수학시간에 본 집합모양으로 나오게 됩니다.

     

    합집합, 교집합, 여집합, 대칭차도 가능합니다. 

    대칭차는 (A U B) - (A ∩ B) 를 의미합니다. 즉, 집합 A와 B에서 교집합만 빠지는 경우를 말합니다.

     

    s = set(['a','ab','c','cd','d','ab','cd'])
    t = set(['a','b','c'])
    s.union(t)     #합집합 s∪t

    s.intersection(t)  #교집합 s∩t

     

    s.difference(t) #차집합 s-t

     

    t.difference(s) #차집합 t-s

     

    s.symmetric_difference(t)  #대칭차

     

    이걸 어디다 쓰나 생각할 수 있는데 주로 리스트에서 원소 필터링을 간단히 하거나 중복 원소를 지울 때 set을 사용하게 됩니다. 집합의 성질을 이용해 필터를 한 후 다시 리스트로 데이터 타입을 바꾸면 필터링한 리스트를 만들 수 있습니다.

     

    집합을 리스트를 바꾸는 건 간단합니다. 다음과 같이 list() 안에 넣어주면 됩니다.

     

    list_s = list(s)
    list_s

     

    'Python > 기초' 카테고리의 다른 글

    [Python] array Class  (0) 2021.04.28
    [Python] conda 기본 명령  (0) 2021.04.24
    [Python]리스트, 딕셔너리 메모장에 저장,불러오기  (0) 2021.04.03
    문자열 포맷 출력  (0) 2021.03.31
    딕셔너리 key 변경하기  (0) 2021.03.27

    댓글

    Designed by JB FACTORY

    ....