집합유일한 원소만 담는 정렬되지 않은 자료형이다.

 

사전과 유사하지만 값은 없고 키만 가지고 있다고 생각하면 된다.

 

1. 집합을 생성하는 2가지 방법

(첫 번째 방법은 대괄호 내 key값 없이 입력을 하는 방법이고, 두 번째 방법은 set([])내 입력을 하는 방법이다.)

 

2. 집합 역시 객체가 변경 불가능이여야 하므로, 리스트는 집합이 될 수 없다.

(my_data는 리스트이며, x는 집합이다. 아래와 같이 my_data와 x는 서로 같지 않다는 결과값이 나왔고(False), my_data를 튜플로 하여 my_set으로 설정해주니 x와 my_set은 같다는 결과값(True)이 나왔다.)

 

3. 파이썬 집합 연산

여기서 a와 b라는 집합이 있다고 가정을 하고 아래 표를 작성

함수 대체 문법 설명
a.add(x) N/A a에 원소 x를 추가
a.clear() N/A 모든 원소를 제거하고 빈 상태로 되돌린다.
a.remove(x) N/A a에서 원소 x를 제거
a.pop() N/A a에서 임의의 원소를 제거, 비어 있는 경우 KeyError를 발생시킴
a.union(b) a | b a와 b의 합집합
a.update(b) a |= b a에 a와 b의 합집합을 대입
a.intersection(b) a & b a와 b의 교집합
a.intersection_update(b) a &= b a에 a와 b의 교집합을 대입
a.difference a - b a와 b의 차집합
a.difference_update(b) a -= b a에 a와 b의 차집합을 대입
a.symmetric_difference(b) a ^ b a와 b의 대칭차집합
a.symmetric_difference_update(b) a ^= b a에 a와 b의 대칭차집합을 대입
a.issubset(b) N/A a의 모든 원소가 b에 속할 경우 True
a.issuperset(b) N/A a가 b의 모든 원소를 포함할 경우 True
a.isdisjoint(b) N/A a와 b 모두에 속하는 원소가 없을 경우 True

 

'Data organization > 개념정리' 카테고리의 다른 글

함수란?(Function)  (0) 2021.02.12
Comprehension(리스트, 딕셔너리)  (0) 2021.02.12
딕셔너리(Dictionary)  (0) 2021.02.03
자료형 함수  (0) 2021.01.28
리스트 활용 방법  (0) 2021.01.27

+ Recent posts