세트 (set)
- 중복된 데이터를 허용하지 않는다.
- 비순차 자료형, 가변 자료형
- 인덱스로 접근 불가하다.
- 항목들을 {} 로 감싸고 각각의 항목은 쉼표(,)로 구분한다.
- 집합 선언 방법 - set()
# 빈 집합 선언 방법
>>> test = set()
>>> type(test)
<class 'set'>
>>> test
>>> test = {'a','c','a','b','c','d','e'}
# set은 중복 된 항목 제거됨
>>> test
{'b', 'c', 'a', 'd', 'e'}
# 항목 존재 유무 확인 - True, False로 반환
>>> 'a' in test
True
>>> 1 in test
False
>>> type(test)
<class 'set'>
※ 빈 집합은 {}로 선언 불가하다. {}로 선언하면 딕셔너리 타입이 생성된다.
반드시 set()을 이용해 빈 집합 선언
# 빈 집합 선언이 아닌 빈 딕셔너리가 선언
>>> test2 = {}
>>> test2
{}
>>> type(test2)
<class 'dict'>
- 수학 집합에서 다루는 교집합, 합집합, 차집합 등을 구하는데 유용
>>> test1 = {1, 71, 23, 5, 8, 12, 39}
>>> test2 = {5, 23, 12, 54, 66, 2}
1. 교집합
'&' or intersection()을 사용하여 구할 수 있다.
# 방법1 - '&'
>>> test1 & test2
{12, 5, 23}
# 방법2 - intersection()
>>> test1.intersection(test2)
{12, 5, 23}
>>> test2.intersection(test1)
{12, 5, 23}
2. 합집합
'|' or union()을 사용하여 구할 수 있다.
# 방법1 - '|'
>>> test1 | test2
{1, 66, 2, 5, 39, 71, 8, 12, 54, 23}
# 방법2 - union()
>>> test1.union(test2)
{1, 66, 2, 5, 39, 71, 8, 12, 54, 23}
>>> test2.union(test1)
{1, 66, 2, 5, 39, 71, 8, 12, 54, 23}
3. 차집합
'-' or difference()을 사용하여 구할 수 있다.
# 방법1 - '-'
>>> test1 - test2
{8, 1, 39, 71}
# 방법2 - 'difference'
>>> test1.difference(test2)
{8, 1, 39, 71}
>>> test2 - test1
{66, 2, 54}
>>> test2.difference(test1)
{66, 2, 54}
'Study > Python study' 카테고리의 다른 글
[Python(파이썬)] 리스트 초기화 (0) | 2021.08.05 |
---|---|
[Python(파이썬)] 팩토리얼(factorial) 구현 (0) | 2021.07.21 |
[Python(파이썬)] filter(), enumerate() - 찾고자하는 item의 index 모두 찾기 (0) | 2021.07.12 |
[Python(파이썬)] 문자, 아스키코드 변환 (0) | 2021.07.12 |
[Python(파이썬)] 힙큐(heapq) 모듈 (0) | 2021.07.08 |
댓글