반응형
안녕하세요. 독학코딩입니다. 오늘은 파이썬에서 자주 사용하지는 않지만 알고 있다면 정말 유용하게 활용할 수 있는 세트, set()
에 대해서 배워보겠습니다. set()
는 한글로 집합이라고 하며, set()
는 순서와 중복이 없는 컬렉션입니다. 기본적으로 중복 검사, 멤버십 검사 등에 많이 사용합니다. 기본적으로 합, 교, 차, 대칭 차집합을 지원합니다.
Pytho set()의 기본
set()는 중괄호나 set()
선언을 통해 만들 수 있습니다. 빈 집합을 만들려면 {}
가 아니라 set()
를 사용하여야 합니다.
unkown_A = {}
unkown_B = set()
unkown_C = {"one", "two", "three"}
unkown_D = {"one":1, "two":2, "three":3}
print("unkown_A type :", type(unkown_A))
print("unkown_B type :", type(unkown_B))
print("unkown_C type :", type(unkown_C))
print("unkown_D type :", type(unkown_D))
# unkown_A type : <class 'dict'>
# unkown_B type : <class 'set'>
# unkown_C type : <class 'set'>
# unkown_D type : <class 'dict'>
위 예제를 통해서 딕셔너리와 세트의 차이를 분명히 확인하시는게 좋습니다.
Pytho set()의 합집합
set_A = {"one", "two", "three"}
set_B = {"two", "three", "four", "five"}
print(set_A|set_B)
# {'five', 'four', 'two', 'one', 'three'}
set()의 합집합은 기호 |
를 이용하시면 됩니다. 이 기호를 어디에 있는지 잘 모르실 수도 있는데 엔터키 위에 \
를 쉬프트와 함께 누르시면 |
를 사용할 수 있습니다.
Pytho set()의 교집합
set_A = {"one", "two", "three"}
set_B = {"two", "three", "four", "five"}
print(set_A&set_B)
# {'three', 'two'}
set()의 교집합은 &
를 통해서 가능합니다.
Pytho set()의 차집합
set_A = {"one", "two", "three"}
set_B = {"two", "three", "four", "five"}
print(set_A-set_B)
print(set_B-set_A)
# {'one'}
# {'four', 'five'}
set의 차집합은 직관적으로 -
를 통해서 사용 가능합니다. 다만 차집합의 성질에 대해서 명확히 이해하셔야 실수하지 않습니다. print(set_A - set_B)
와 print(set_B - set_A)
의 차이를 명확히 이해하시기 바랍니다.
Pytho set()의 대칭 차집합
set_A = {"one", "two", "three"}
set_B = {"two", "three", "four", "five"}
print(set_A^set_B)
# {'five', 'one', 'four'}
대칭 차집합은 말이 어렵긴 하지만 합집합에서 교집합을 뺀거라고 생각하시면 됩니다. 즉 중복되는 걸 제외한 모든 것들입니다. 아래도 한번 확인해보시면 좋습니다.
Union_set = set_A | set_B
Intersection_set = set_A & set_B
print(Union_set - Intersection_set)
# {'five', 'four', 'one'}
반응형
'Python > Python 초급' 카테고리의 다른 글
[Python] 리스트의 마지막 요소를 어떻게 가져올까요? (0) | 2023.05.03 |
---|---|
[Python] 변수의 변수는 어떻게 만드나요? (0) | 2023.05.03 |
Python 파이썬 Dictonary, dict(), 딕셔너리 데이터 타입 (0) | 2021.11.22 |
Python 파이썬 Tuple, tuple(), 튜플 데이터 타입 (0) | 2021.11.20 |
Python 파이썬 List, list(), 리스트 데이터 타입 (0) | 2021.11.19 |
댓글