본문 바로가기
엘리스 AI 트랙 4기/Data Analysis Study

[Python] set과 집합연산

by _sweep 2022. 1. 30.

엘리스에서 제공한 강의와 자료를 보고 정리한 내용입니다.

 

 set

집합(set)은 중복이 허용되지 않으며 순서가 없는 자료형이다.

{} 중괄호를 사용하며 콤마(,)로 값을 구분하거나 set() 키워드로 선언할 수 있다.

 

set1 = {1, 2, 3}
set2 = set([1, 2, 3])

# set1과 set2는 같은 값이다.

 

✔️ 값 추가

하나의 값을 추가하는 것은 add()로, 여러개의 값을 추가하는 것은 update()로 가능하다.

 

sample_set.add(4)
sample_set.update([ 5, 6, 7])

 

✔️ 값 삭제

값을 삭제하는 것은 remove() 또는 discard()로 가능하다.

discard는 해당 원소가 있다면 삭제하고 없다면 아무런 일도 하지 않는 반면 remove는 해당 원소가 존재해야만 한다.

만약 집합에 존재하지 않는 값을 삭제하려고 하면 에러를 반환한다.

 

sample_set.remove(4)
sample_set.discard(100)

 

 

 집합 연산

집합 연산에는 교집합, 합집합, 차집합, XOR 연산이 존재한다.

 

✔️ 교집합

set의 교집합을 구할 때는 & 연산자 또는 intersection() 함수를 사용한다.

 

sample_set1 & sample_set2
sample_set1.intersection(sample_set2)

 

 

✔️ 합집합

set의 합집합을 구할 때는 | 연산자 또는 union() 함수를 사용한다.

 

sample_set1 | sample_set2
sample_set1.union(sample_set2)

 

 

✔️ 차집합

set의 차집합을 구할 때는 - 연산자 또는 difference() 함수를 사용한다.

 

sample_set1 - sample_set2
sample_set1.difference(sample_set2)

 

 

✔️ XOR

set의 XOR(배타적 논리합)을 구할 때는 ^ 연산자를 사용한다.

 

sample_set1 ^ sample_set2

 

 

🔍 참조

집합 연산 이미지 출처 https://ko.wikipedia.org/wiki/%EB%B2%A4_%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8

 

 

 

 

 

댓글