set은 집합 자료구조라고 한다.
set 자료구조는 중복을 허용하지 않고 순서가 없다는 특징이 있다.
순서가 없기 때문에 인덱싱을 지원하지 않고 dictionary 자료구조처럼 key 값으로 value값에 접근한다.
set자료구조는 교집합, 합집합, 차집합을 구할 때 유용하게 사용할 수 있다.
s1=set(1,2,3,4)
s2=set(3,4,5,6)
print(s1&s2)
//3,4
print(s1.intersection(s2))
//3,4
print(s1|s2)
//1,2,3,4,5,6
print(s1.union(s2))
//1,2,3,4,5,6
print(s1-s2)
//1,2
print(s1.difference(s2))
//1,2
set 자료구조는 안의 값을 찾을 때도 유용하다. list는 in을 통해 안의 값을 찾는데 O(N)의 시간이 걸리지만 set은 순서가 없기 때문에 O(1)의 시간으로 값을 찾을 수 있다.