관리 메뉴

프론트엔드 정복하기

파이썬 집합 본문

패스트캠퍼스 - 자료구조와 알고리즘/파이썬 기초 문법

파이썬 집합

GROWNFRESH 2021. 7. 27. 07:59
집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.

 

 

집합 자료형 만들기

s = set("Hello")   # {'e', 'H', 'l', 'o'}

 

위 결과를 보면 Hello와는 달리 결과값이 뒤죽박죽이다.

 

 

set에는 다음과 같은 2가지 특징이 있다.

  • 중복을 허용하지 않는다.
  • 순서가 없다.

 

리스트, 튜플은 순서가 있어 index로 값을 얻을 수 있었으나 set은 그렇지 않다.

** index로 접근하고 싶다면, list, tuple로 랩핑해 리스트 또는 튜플로 변환 후 접근하면 된다.

 

 

 

아래와 같은 자료형이 있다.

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

 

교집합 구하기

s1 & s2    # {4,5,6}
s1.intersection(s2)    # 동일 결과

 

합집합 구하기

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

 

차집합 구하기

s1 - s2    # {1,2,3}
s2 - s1    # {8,9,7}

s1.difference(s2)    # 동일 결과
s2.difference(s1)    # 동일 결과

 

 

 

 

값 1개 추가하기

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

 

값 여러 개 추가하기

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

 

특정 값 제거하기

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

 

 

참고 사이트

https://wikidocs.net/1015

'패스트캠퍼스 - 자료구조와 알고리즘 > 파이썬 기초 문법' 카테고리의 다른 글

파이썬 스택  (0) 2021.07.30
파이썬 함수  (0) 2021.07.29
파이썬 딕셔너리  (0) 2021.07.27
파이썬 튜플(tuple)  (0) 2021.07.26
파이썬 변수 선언  (0) 2021.07.26