집합(Set) 이란?
집합은 고유한 요소의 모음,
단일 변수의 여러 항목을 저장하는 것이 목적
집합의 특징
중복
을 허용하지 않는다.
순서
가 없다. (Unordered)
+)
set은 중복을 허용하지 않는 특징 때문에
데이터의 중복을 제거하기 위한 필터로 종종 사용된다.
리스트
나튜플
은 순서가 있기(ordered) 때문에
인덱싱을 통해 요솟값을 얻을 수 있지만,
set 자료형
은 순서가 없기(unordered) 때문에
인덱싱을 통해 요솟값을 얻을 수 없다.
+)
만약 set 자료형에 저장된 값을 인덱싱으로 접근하려면
리스트나 튜플로 변환한 후에 해야 한다.
# set를 list로 변환 후 인덱싱 s1 = set([1, 2, 3]) l1 = list(s1) print(l1) print(l1[0]) # tuple 의 인덱싱 t1 = tuple(s1) print(t1) print(t1[0])
set()
s1 = set([1, 2, 3]) s1
s2 = set("Hello") s2
- 중복을 허용하지 않고 순서가 없기 때문에 위와 같은 결과가 나온다.
s1 = set([1, 2, 3, 4, 5, 6]) s2 = set([4, 5, 6, 7, 8, 9]) print(s1) print(s2)
&
s1 & s2
.intersection()
s1.intersection(s2)
|
s1 | s2
.union()
s1.union(s2)
-
s1 - s2
.difference()
s1.difference(s2)
.add()
s1 = set([1, 2, 3]) s1.add(4) s1
.update()
s1 = set([1, 2, 3]) s1.update([4, 5, 6]) s1
.remove()
s1 = set([1, 2, 3]) s1.remove(2) s1