파이썬에서 사용되는 자료구조 중에서 집합(set)을 활용하는 방법을 정리한 글이다.
기본 규칙
!! 집합은 원소들끼리 겹치지 않는다 !! : 자료 내에 중복되지 않는 고유값만 알고싶을 때, 자주 쓰임.
!! 집합 자료구조는 순서를 가지지 않는다(Unordered) !! : 순서가 중요한 자료에서는 쓰지 않는 것이 좋다!!
# 빈 집합 만드는 법
set1 = set()
# 리스트를 집합으로 만드는 법
set2 = set([1,2,3,4,5])
print(set2)
# Output : {1, 2, 3, 4, 5}
# 문자열을 집합으로 만드는 법
set3 = set("strings")
print(set3)
# Output : {'s', 't', 'n', 'r', 'i', 'g'}
# 집합을 리스트, 튜플로 만들어서 인덱싱할 수 있다.
# 그냥 set 자료구조에서는 인덱싱이 불가능하다
list1 = list(set2)
print(list1)
# Output : [1,2,3,4,5]
tuple1 = tuple(set3)
print(tuple1)
# Output : ('s', 't', 'n', 'r', 'i', 'g')
집합 자료형 다루기
set1 = set([1,2,3,4])
# 원소 1개 추가하기
set1.add(5)
set1
# Output : {1, 2, 3, 4, 5}
# 원소 여러개 한번에 추가하기
set1.update([6,7,8,9,10])
set1
# Output : {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
# 집합 내 원소 제거하기
set1.remove(5)
set1
# Output : {1, 2, 3, 4, 6, 7, 8, 9, 10}
집합 연산
set1 = set(['a', 'p', 'p', 'l', 'e'])
set2 = set(['a', 'i', 'r', 'p', 'l', 'a', 'n', 'e'])
# 합집합
set1|set2
set1.union(set2)
# Output : {'p', 'e', 'a', 'n', 'r', 'i', 'l'}
# 교집합
set1 & set2
set1.intersection(set2)
# Output : {'p', 'e', 'a', 'l'}
# 차집합
set1-set2
set1.difference(set2)
# Output : set() <-- 모든 원소가 교집합에 포함될 때
set2-set1
set2.difference(set1)
# Output : {'i', 'r', 'n'}
'Programming > python' 카테고리의 다른 글
파이썬 리스트 Python List 인덱싱(Indexing), 슬라이싱 (Slicing) 하는 방법 (0) | 2023.02.12 |
---|---|
python , map 함수로 파이썬 한 줄 코드 장인 되기! (0) | 2023.02.12 |
파이썬 Python argparse 인수/인자 입력하는 방법 (커맨드 실행 시, 명령어 파라미터 추가) (0) | 2023.02.03 |
파이썬 Python 코드 실행 시간 계산하는 법 | time.time() (0) | 2023.01.31 |
파이썬(Python) : OrderedDict와 Dict의 차이 (0) | 2023.01.30 |