🔎 set( )
- 집합에 대한 처리를 하는 자료형이다.
- 중복 허용X, 순서 없음
- 순서가 없어 인덱싱 접근이 불가능하므로 인덱싱 접근시 리스트/튜플을 이용해야 한다.
- 변수 = set ( ) 형태로 사용한다.
n1 = set()
n1 = set(range(1,5))
print(n1) // 출력: {1,2,3,4}
n1 = set([1,2,3,4,5])
print(n1) // 출력: {1,2,3,4,5}
n2 = set("hello world")
print(n2) // 출력: {'d','e',' ','h','o','l','r','w'}
🔎 교집합 / 차집합 / 합집합
- 사실상 set( )을 사용하는 최대 목적은 교집합 / 차집합 / 합집합 이용이다.
- 우선 집합 n1과 n2를 아래와 같이 정의해보자
n1 = set([1,2,3,4,5])
n2 = set([3,4,5,6,7])
1️⃣ . 교집합
n3 = n1 & n2
print(n3) // 출력: {4,5,6}
n3 = n1.intersection(n2)
print(n3) // 출력: {4,5,6}
2️⃣ . 차집합
n3 = n1 - n2
print(n3) // 출력: {1,2}
n3 = n1.difference(n2)
print(n3) // 출력: {1,2}
3️⃣ . 합집합
n3 = n1 | n2
print(n3) // 출력: {1,2,3,4,5,6,7}
n3 = n1.union(n2)
print(n3) // 출력: {1,2,3,4,5,6,7}
🔎 add / update / remove
n1 = set([1,2,3,4,5])
1️⃣. add( ) : 값 1개 추가
n1.add(100)
print(n1) // 출력: {1,2,3,4,5,100}
2️⃣. update( ) : 값 여러개 추가
n1.update([100,200,300])
print(n1) // 출력: {1,2,3,4,5,100,200,300}
3️⃣. remove( ) : 특정 값 삭제
n1.remove(5)
print(n1) //출력: {1,2,3,4}