이번 시간에는 파이썬의 Set 자료형에 대해 알아볼건데요.

Set는 한글로 집합입니다. 중학교 수학시간에 집합이라고 배우죠?

네 맞습니다 바로 그 집합입니다. 실제로 집합이 필요한 상황에서 적절히 

사용할 수 있는 자료형입니다. Set 자료형에는 몇가지 특징이 있는데요.

그 특징은 다음과 같습니다.


♣ Set 자료형의 특징

1. 중복이 없다. (Not Duplication)

2. 순서가 없다. (Unordered)


그렇다면 이제 파이썬에서 Set 자료형을 사용하는 방법에 대해 알아보겠습니다.


♣ Set 자료형의 선언

Set 자료형을 사용하기 위해 다음과 같이 선언할 수 있습니다.

예제 코드)

set1 = set([1, 2, 3]) # {1, 2, 3} 출력

set2 = {4, 5, 6} # {4, 5, 6} 출력

set3 = set("Hello") # {'e', 'H', 'o', 'l'} 출력

set4 = frozenset([1, 2, 3]) # frozenset({1, 2, 3}) 출력

Set 자료형을 선언할 때에는 set([ ]) 또는 { } 기호를 사용하실 수 있습니다.

여기서 set3을 보시면 {'e', 'H', 'o', 'l'}이 출력되는 것을 볼 수 있는데

Set 자료형의 특징을 잘 보여주고 있네요. (중복 및 순서가 없음)

frozenset은 선언 후 변경 할 수 없는 집합입니다. (튜플과 비슷하네요)


♣ Set 자료형의 내부 함수

Set 자료형에도 여러가지 내부 함수가 존재하여 추가 삭제 및 여러가지 연산을 지원합니다.

Set 자료형의 내부함수에는 다음과 같은 함수들이 존재합니다.


- add() : 집합에 요소를 추가합니다.

예제 코드)

set1 = set([1, 2, 3]) # {1, 2, 3} 출력

set1.add(4) # {1, 2, 3, 4} 출력


- update() : 해당 집합에 다른 집합을 추가합니다.

직접 집합을 작성하여 추가하거나 다른 집합을 추가 할 수 있습니다.

예제 코드)

set1 = set([1, 2, 3]) 

set1.update([4, 5, 6]) # {1, 2, 3, 4, 5, 6} 출력

set2 = {7, 8, 9}

set1.update(set2) # {1, 2, 3, 4, 5, 6, 7, 8, 9} 출력


- remove() : 집합에 해당 요소를 제거합니다.

예제 코드)

set1 = set([1, 2, 3])

set1.remove(3) # {1, 2} 출력


- clear() : 집합 내에 모든 요소를 제거합니다.

예제 코드)

set1 = set([1, 2, 3])

set1.clear() # set() 출력(빈 집합)



- union() : 집합들의 합집합을 구합니다. 또한 | 연산자를 사용할 수 있습니다.

예제 코드)

set1 = set([1, 2, 3])

set2 = set([3, 4, 5])


set3 = set1.union(set2) # {1, 2, 3, 4, 5} 출력, set1 | set2 과 같음


- intersection() : 집합들의 교집합을 구합니다. 또한 & 연산자를 사용할 수 있습니다.

예제 코드)

set1 = set([1, 2, 3])

set2 = set([2, 3, 4])

set3 = set([1, 2, 5])


set4 = set1.intersection(set2).intersection(set3) # {2} 출력, set1 & set2 & set3 과 같음


- difference() : 집합들의 차집합을 구합니다. 또한 - 연산자를 사용할 수 있습니다.

예제 코드)

set1 = set([1, 2, 3])

set2 = set([2, 3, 4])


set3 = set1.difference(set2) # {1} 출력, set1 - set2와 같음


이상 '파이썬 set 자료형'에 대해 알아보았습니다.

질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!

공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.



'Python' 카테고리의 다른 글

파이썬 파일 입출력  (0) 2018.10.06
파이썬 난수(random) 생성  (0) 2018.09.24
파이썬으로 이메일 보내기(SMTP)  (10) 2018.09.22
파이썬 간단하게 코딩하기  (2) 2018.09.19
파이썬 튜플(Tuple) 사용법  (0) 2018.09.16
파이썬 리스트 사용법2 - 활용  (0) 2018.09.15
파이썬 리스트 사용법  (0) 2018.09.14
파이썬 DB연동 - PyMySQL + MySQL  (1) 2018.08.18

to Top