반응형
안녕하세요. TDR입니다.
오늘은 python에서의 set(집합) 자료구조의 기본적인 것에 대해 정리해 보겠습니다.
집합 연산이 많아 2번에 나눠서 정리하겠습니다.
## 생성
set_object = set()
set_object = set([1, 2, 3]) # set_object = {1, 2, 3}
set_object = set("apple") # set_object = {'a', 'p', 'l', 'e'}
## 삽입
# 하나의 값만 추가 가능
set_obejct.add(2)
# 여러개의 값 추가
set_obejct.update({2, 4, 8})
## 삭제
# 값이 없으면 KeyError 발생
set_obejct.remove(2)
# 값이 없어도 Error 발생 안함
set_obejct.discard(2)
# set에서 임의값 꺼내기
set_object = s1.pop()
## 예시 값
s1 = {1, 2, 3}
s2 = {3, 4, 5}
## 집합 연산
# 합집합
set_obejct = s1 | s2
set_obejct = set.union(s1,s2)
set_obejct = s1.union(s2)
set_obejct = s2.union(s1)
# 연산 결과를 반환하지 않고 s1의 값을 수정
s1 |= s2
s1.update(s2)
# set_obejct = {1, 2, 3, 4, 5}
# 교집합
set_object = s1 & s2
set_obejct = set.intersection(s1, s2)
# 연산 결과를 반환하지 않고 s1의 값을 수정
s1 &= s2
s1.intersection_update(s2)
# set_obejct = {3}
# 차집합
set_object = s1 - s2
set_obejct = set.difference(s1,s2)
# 연산 결과를 반환하지 않고 s1의 값을 수정
s1 -= s2
s1.difference_update(s2)
# set_obejct = {1, 2}
## 특징
# 순서 없음. 중복 안됨. 값 형태 상관 없음.
# 순서가 없기 때문에 당연히 index 접근 안됨
# list와 마찬가지로 clear() 함수로 모두 값들 제거 가능
set_object.clear()
나머지는 Set-02에서 진행하겠습니다.
반응형
'Computer & Program > python' 카테고리의 다른 글
[python] Dictionary (0) | 2024.01.24 |
---|---|
[python] Copy (Shallow vs Deep) (0) | 2024.01.19 |
[python] Set - 02 (0) | 2024.01.19 |
[python] Tuple (0) | 2024.01.16 |
[python] List (0) | 2024.01.16 |
댓글