본문 바로가기
Python

[Python] 20 - 기본기 - set 집합 자료형

by 진홍이 2021. 9. 1.
728x90

파이썬을 시작하기에 앞서 기본기부터 알아보겠습니다.

set(세트) 집합 자료형에 대해서 배워보겠습니다.

 

set는 집합 자료형 이라고합니다. 

우리가 수학시간에 배웠던 그 집합 맞습니다.

 

집합 자료형은 {}를 사용해서 생성하는 방법과 set을 사용해서 생성하는 방법이 있습니다.

A = {1,2,3}		#{1, 2, 3} <class 'set'>
B = set([1,2,3])	#{1, 2, 3} <class 'set'>
D = set('test')		#{'s','e','t'} <class 'set'>
C = set()		#set() <class 'set'>

빈 집합은 set()을 사용해서 만듭니다.

집합 자료형의 특징

  • 중복을 허용하지 않는다.
  • 순서 개념이 없다.

1. 집합 자료형은 중복을 허용하지 않습니다.

예를 들어 보겠습니다.

위에서 'test'라는 문자열을 집합 자료형으로 변경하였습니다.

결과는 { 't', 's', 'e' } 라고 표시됩니다.

t가 중복으로 들어가기 때문에 하나만 표시합니다.

 

2.순서 개념이 없다.

따라서 리스트와 튜플같이 인덱스를 사용할 수 없습니다.

인덱스를 사용해보려하면 TypeError가 나는것을 확인할 수 있습니다.

인덱스를 사용하려면 리스트나 튜플로 변환한 후 사용해야 합니다.

 

인덱스를 사용할 수는 없지만 집합 자료형은 교집합, 합집합, 차집합을 구할때 유용합니다.

 

aSet = set([1,2,3,4,5,6])
bSet = set([4,5,6,7,8,9])

aSet집합에는 1부터 6까지

bSet집합에는 4부터 9까지의 숫자를 넣어 놓았습니다.

 

교집합 ( &, intersection )

교집합은 & 와 intersection을 사용하여 구할 수 있습니다.

&를 사용하는 방법과 intersection을 사용하는 두가지 방법이 있습니다.

 

합집합 ( |, union)

합집합은 | 와 union을 사용하여 구할 수 있습니다.

|를 사용하는 방법과 union을 사용하는 두가지 방법이 있습니다.

중복이 되는 4,5,6은 한번만 표시합니다. 

 

차집합 ( -, difference )

차집합은 -와 difference를 사용하여 구할 수 있습니다.

-를 사용하는 방법과 difference를 사용하는 두가지 방법이 있습니다.

 

이렇게 집합 자료형을 활용하는 방법을 알아보았습니다. 

다음글에서는 집합 자료형에 관련된 함수와 메서드를 알아보겠습니다.

 

 

 

728x90