이번 단원은 파이썬(Python) Set을 예제로 배우는 2번째 시간이다.

Python Set - Native Operations(파이썬 Set - 기본 연산)

수학과 마찬가지로 set은 합집합(Union), 교집합(Intersection), 차집합(Difference), 여집합(Complement)과 같은 연산을 지원하는데 파이썬(Python)에서도 그렇다.

메소드뿐만 아니라 set 연산을 수행할 수 있게 하는 연산자도 있다.

그림 예제를 위해 다음 예제에서는 다음 두 set을 사용할 것이다.

# We'll use the setA and setB for our illustration
setA = {'a', 'e', 'i', 'o', 'u', 'g', 'h'}
setB = {'a', 'e', 'z', 'b', 't', 'o', 'u'}

Union Operation(합집합 연산)

setA와 setB의 합집합은 두 Set으로부터 모든 요소를 합쳐 새로운 set을 만드는 것이다.

출처 : [TechBeamers](https://www.techbeamers.com/python-set/#attachment_6734)

”|“ 연산자는 set에서 합집합 연산을 수행하는 연산자이다.

set의 길이를 계산하기 위해 Len()이라는 메소드를 사용한 적이 있다. 이 예제의 결과는 아래와 같다.

union() 메소드를 사용하면 비슷한 결과를 얻을 수 있다.

어떤 set(예, set A or B)이든 상관없이 union() 메소드를 적용할 수 있다; 결과는 같다.

Intersection Operation(교집합 연산)

setA와 setB의 교집합은 두 Set에서 공통적인 요소를 포함하는 set을 생성할 것이다.

출처 : [TechBeamers](https://www.techbeamers.com/python-set/#attachment_6735)

이 연산을 수행하기 위해 파이썬(Python)의 “&” 연산자를 사용할 수 있다.

이 예제는 아래의 결과를 도출한다.

그 대신에 이 연산을 수행하는 intersection() 메소드를 호출할 수 있다.

이 예제는 아래의 결과를 도출한다.

Difference Operation On The Set(Set에서의 차집합 연산)

두 Set에서 차집합 연산을 수행할 때(예, <setA - setB>), 결과는 오른쪽에는 존재하지 않지만 왼쪽에는 존재하는 요소들의 set일 것이다.

출처 : [TechBeamers](https://www.techbeamers.com/python-set/#attachment_6736)

똑같이 <setB - setA> 연산은 setA에는 속하지 않지만 setB에는 속하는 요소를 반환할 것이다.

이 연산의 결과를 위해서는 minus (-) 연산자를 사용할 수 있다.

사용한 set 둘다 서로에게는 존재하지 않는 3개의 유일한 요소들 있다. 아래의 결과를 보자.

다음 예제는 differece() 메소드를 사용한 같은 set 연산을 보여준다.

위 예제의 실행은 아래의 결과를 도출한다.

Symmetric Difference Operation On The Set(Set에서의 대칭 차집합 연산)

두 set의 대칭 차집합은 setA, setB 둘 다에 포함되지 않는 요소들의 set을 생성한다.

출처 : [TechBeamers](https://www.techbeamers.com/python-set/#attachment_6737)

파이썬(Python)에서 caret operation (^)의 도움을 받아 이 연산을 수행할 수 있다.

결과는 아래와 같다.

symmetric_difference() 메소드로도 연산 결과를 얻을 수 있다.

결과는 아래와 같다.

질문이나 수정부분은 댓글또는 인스타그램, 트위터 등으로 연락부탁드려요!