07. 집합 자료형

2020. 12. 27. 05:17파이썬

집합

  • 파이썬 2.3 부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위한 자료형이다.
  • 중복이 허용되지 않으며, 순서가 없다는 특징을 가지고 있다.
s1 = set([1,2,3])    # 리스트를 입력해서 생성
s1 = {1,2,3}

s2 = set("Hello")    # 문자열을 입력해서 생성
s2 = {'e', 'H', 'l', 'o'}

s3 = set([])         # 비어있는 집합 자료형 생성
s3 = {}
  • 리스트나 튜플은 순서가 있기 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있지만,
  • 딕셔너리와 마찬가지로 집합 자료형은 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없다.
  • 그래서 set 자료형에 저장된 값을 인덱싱으로 접근하려면 다음과 같이 리스트나 튜플로 변환을 먼저 해줘야한다.
s1 = set([1,2,3])

# 리스트형
li_s1 = list(s1)     # li_s1 = [1,2,3]
li[0]                # 반환값 1

# 튜플형
t1 = tuple(s1)       # t1 = (1,2,3)
t1[0]                # 반환값 1

set 자료형 활용

1. s1 s2의 교집합

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

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

2. s1 s2의 합집합

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

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

3. s1에서 s2를 뺀 집합

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

s1 - s2		# {1,2,3}
s1.difference(s2)	# {1,2,3}

4. 1 a 추가하기

set.add(a)
s1 = {1,2,3}
s1.add(4)	# s1 = {1,2,3,4}

5. 값 여러개 추가하기

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

6. 특정값 a 제거하기

set.remove(a)
s1 = {1,2,3}
s1.remove(6)		# s1 = {1,2,3,4,5,7}

 

'파이썬' 카테고리의 다른 글

09. 변수  (0) 2020.12.27
08. 불 자료형-내용입력  (0) 2020.12.27
06. 딕셔너리 자료형  (0) 2020.12.27
05. 튜플 자료형  (0) 2020.12.27
04. 리스트 자료형  (0) 2020.12.27