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 |