YYYEJI

[Python] 집합(Set) 정리 본문

Python

[Python] 집합(Set) 정리

YEJI ⍢ 2022. 10. 6. 17:01
728x90

집합(Set)은

순서가 없고, 집합안에 특별한 원소를 가집니다.
Mutable 객체입니다.
  


아래와 같이 사용합니다.

s = {'A', 'B', 'C'}
print(type(s))




특별한 원소를 가진다고 했던 것처럼 중복된 값은 자동으로 삭제됩니다.

s = {'A', 'B', 'C', 'a', 'A'}
print(s)


Set은 순서가 없기 때문에 어떤 원소가 먼저 나올지는 모릅니다.

↑↑↑ 여러 번 실행했을 때 나오는 결과가 다르다는 것을 확인할 수 있습니다 ↑↑↑




원소가 튜플 안에 존재하는지도 확인할 수 있습니다.

s = {'A', 'B', 'C', 'a', 'A'}
print('A' in s)
s = {'A', 'B', 'C', 'a', 'A'}
print('D' in s)


'add' method - 하나의 원소 추가

s = {'A', 'B', 'C', 'a', 'A'}
s.add('D')

print(s)

'update' method - 여러 개의 원소 추가

s = {'A', 'B', 'C', 'B'}
s.update(['D', 'A', 'E', 'F'])

print(s)


'remove' method - 원소 삭제

s = {'A', 'B', 'C', 'a', 'A'}
s.add('D')
s.remove('a')

print(s)

'copy' method - 튜플 복사

s = {'A', 'B', 'C', 'B'}
sc = s.copy()

print(sc)


' | ' operation - 합집합

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A', 'E'}

print(s1|s2)


' & ' operation - 교집합

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A', 'E'}

print(s1&s2)

' - ' operation - 차집합

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A', 'E'}

print(s1-s2)

' ^ ' operation - 대칭차집합 (합집합 - 교집합)

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A', 'E'}

print(s1^s2)

'union' method - 합집합

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A', 'E'}
s3 = s1.union(s2)

print(s3)

'intersection' method - 교집합

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A', 'E'}
s3 = s1.intersection(s2)

print(s3)


'difference' method - 차집합

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A', 'E'}
s3 = s1.difference(s2)

print(s3)


'symmetric_difference' method - 대칭차집합 (합집합 - 교집합)

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A', 'E'}
s3 = s1.symmetric_difference(s2)

print(s3)


'issubset' method - 부분집합 여부 확인

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A'}

print(s2.issubset(s1))
print(s1.issubset(s2))


'issuperset' method - issubset과 반대 superset인지 확인

s1 = {'A', 'B', 'C', 'D'}
s2 = {'A'}

print(s1.issuperset(s2))
print(s2.issuperset(s1))


'isdisjoint' method - 교집합이 없으면 True, 있으면 False

s1 = {'A', 'B', 'C', 'D'}
s2 = {'E','F'}

print(s1.isdisjoint(s2))



◡̈


'Python' 카테고리의 다른 글

[Python] sum 함수 알아보기  (0) 2022.10.13
[Python] 딕셔너리(Dictionary) 정리  (0) 2022.10.06
[Python] 튜플(Tuple) 정리  (0) 2022.10.06
[Python] for문과 while문의 차이점  (2) 2022.09.29
[Python] 반복문 (while문)  (0) 2022.09.29