프론트엔드 정복하기
파이썬 집합 본문
집합(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}
참고 사이트
'패스트캠퍼스 - 자료구조와 알고리즘 > 파이썬 기초 문법' 카테고리의 다른 글
파이썬 스택 (0) | 2021.07.30 |
---|---|
파이썬 함수 (0) | 2021.07.29 |
파이썬 딕셔너리 (0) | 2021.07.27 |
파이썬 튜플(tuple) (0) | 2021.07.26 |
파이썬 변수 선언 (0) | 2021.07.26 |