ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 13. 집합(set)
    Programming/Python 2021. 7. 8. 19:56

     

    [1] 집합의 선언 및 정의

    alphabet = {"A", "B", "C", "B"}
    alphabet2 = set(["A", "B", "C", "B"])
    print(alphabet, type(alphabet)) # {'A', 'C', 'B'} <class 'set'>
    print(alphabet2, type(alphabet2)) # {'A', 'C', 'B'} <class 'set'>

    - 집합(set) 내 원소는 중복될 수 없으며, 순서를 보장하지 않는다.

    - {}를 통해 집합을 바로 선언 및 정의할 수 있으며, []를 통해 리스트(list)로 정의한 후 type을 바꾸어줄 수도 있다.

    - 순서를 보장하지 않기에, index를 통한 접근이 불가하다.

     

     

    [2] 집합에서의 추가 및 삭제

    alphabet1 = {"A", "C", "D"}
    print(alphabet1) # {'A', 'D', 'C'}
    alphabet2 = {"B", "D", "E"}
    print(alphabet2) # {'E', 'D', 'B'}
    
    alphabet1.add("F")
    print(alphabet1) # {'A', 'F', 'D', 'C'}
    alphabet1.remove("A")
    print(alphabet1) # {'D', 'C', 'F'}

    - 추가는 add를 사용한다. 위 예시코드의 결과를 보면 알 수 있듯이, 집합은 순서를 보장하지 않기에 F는 아무 자리에 추가된다.

     

    - 삭제는 remove를 사용한다. list나 dictionary 등에서는 index번호 또는 key를 통해 삭제했던 것이 기억이 날 것이다. 하지만, 앞서 설명했듯이 집합은 순서를 보장하지 않기에 index번호 등이 무의미하다. 따라서, 직접 value를 입력하여 삭제한다.

     

     

    [3] 집합의 사용(교집합, 합집합, 차집합)

    alphabet1 = {"A", "C", "D"}
    print(alphabet1) # {'A', 'D', 'C'}
    alphabet2 = {"B", "D", "E"}
    print(alphabet2) # {'E', 'D', 'B'}
    
    # 교집합
    print(alphabet1 & alphabet2) # {'D'}
    print(alphabet1.intersection(alphabet2)) # {'D'}
    
    # 합집함
    print(alphabet1 | alphabet2) # {'A', 'B', 'E', 'D', 'C'}
    print(alphabet1.union(alphabet2)) # {'A', 'B', 'E', 'D', 'C'}
    
    # 차집합
    print(alphabet1 - alphabet2) # {'A', 'C'}
    print(alphabet1.difference(alphabet2)) # {'A', 'C'}

     

    - 교집합 : & 또는 intersection 사용

    - 합집합 : | 또는 union 사용

    - 차집합 : - 또는 difference 사용

     

     

     

    *본 글은 코딩 유튜버 '나도코딩'님의 무료강의를 바탕으로 내용을 정리 및 추가한 글입니다.

    https://www.youtube.com/watch?v=kWiCuklohdY&t=5934s 

     

    'Programming > Python' 카테고리의 다른 글

    [Python] 15. for문  (0) 2021.07.11
    [Python] 14. 조건문 (if문)  (0) 2021.07.11
    [Python] 12. 튜플(tuple)  (0) 2021.07.08
    [Python] 11. 사전(Dictionary)  (0) 2021.07.08
    [Python] 10. 리스트(List)  (0) 2021.07.08
Designed by Tistory.