본문 바로가기
Python/02. 파이썬의 기초, 자료형

02-6 집합 자료형

by gamdong2 2024. 6. 27.

📖 집합(set) 자료형 이란?

집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형

 

1. 집합 자료형은 어떻게 만들까?

집합 자료형은 set 키워드를 사용해 만듦

=====set([리스트])=====
>>> s1 = set([1, 2, 3])
>>> s1
{1, 2, 3}

=====set("문자열")=====
>>> s2 = set("Hello")
>>> s2
{'e', 'H', 'l', 'o'}

#비어 있는 집합 자료형 : s = set()

 

 

 

2. 집합 자료형의 특징

① 중복을 허용하지 않음

② 순서가 없음; 인덱싱을 통해 요솟값을 얻을 수 x (= 딕셔너리도 순서 無)(≠ 리스트, 튜플은 순서가 有; 인덱싱을 통해 요솟값을 얻을 수 o)

#set 자료형에 저장된 값을 인덱싱하려면 리스트 or 튜플로 변환 후 인덱싱해야함
>>> s1 = set([1, 2, 3])
>>> l1 = list(s1)   #리스트로 변환
>>> l1
[1, 2, 3]
>>> l1[0]
1
>>> t1 = tuple(s1)   #튜플로 변환
>>> t1
(1, 2, 3)
>>> t1[0]
1

 

 

 

3. 교집합, 합집합, 차집합 구하기

set 자료형을 유용하게 사용하는 경우 : 교집합, 합집합, 차집합 구할 때

#2개의 set 자료형
>>> s1 = set([1, 2, 3, 4, 5, 6])
>>> s2 = set([4, 5, 6, 7, 8, 9])

=====교집합 구하기 (& ・ intersection) =====
>>> s1 & s2
{4, 5, 6}

>>> s1.intersection(s2)   # = s2.intersection(s1)
{4, 5, 6}

=====합집합 구하기 (| ・ union)=====
>>> s1 | s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}   #중복된 값은 1개씩만 표현됨

>>> s1.union(s2)   # = s2.union(s1)
{1, 2, 3, 4, 5, 6, 7, 8, 9}

=====차집합 구하기 (- ・ difference)=====
>>> s1 - s2
{1, 2, 3}
>>> s2 - s1
{8, 9, 7}

>>> s1.difference(s2)
{1, 2, 3}
>>> s2.difference(s1)
{8, 9, 7}

 

 

 

 

4. 집합 자료형 관련 함수

1. 값 1개 추가하기 (add)

: 이미 만들어진 set 자료형에 값 추가

>>> s1 = set([1, 2, 3])
>>> s1.add(4)
>>> s1
{1, 2, 3, 4}

 

2. 값 여러 개 추가하기 (update)

: 여러 개의 값을 한꺼번에 추가

>>> s1 = set([1, 2, 3])
>>> s1.update([4, 5, 6])
>>> s1
{1, 2, 3, 4, 5, 6}

 

3. 특정 값 제거하기 (remove)

>>> s1 = set([1, 2, 3])
>>> s1.remove(2)
>>> s1
{1, 3}

 

 

 

 

 

출처 : ⎡Do it! 점프 투 파이썬 (박응용)

'Python > 02. 파이썬의 기초, 자료형' 카테고리의 다른 글

02-8 자료형의 값을 저장하는 공간, 변수  (0) 2024.06.27
02-7 불 자료형  (0) 2024.06.27
02-5 딕셔너리 자료형  (0) 2024.06.27
02-4 튜플 자료형  (0) 2024.06.25
02-3 리스트 자료형  (0) 2024.06.25