📖 집합(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 |