728x90
반응형
1) 집합(Set) 자료형 선언 및 변환
# 집합(Set) 특징
# 집합(Set) 자료형(순서X, 중복X)
#선언
a = set()
b = set([1,2,3,4])
c = set([1,4,5,6])
d = set([1,2,'Pen','Cap'])
e = {'foo','bar','baz','foo','qux'}
f = {42, 'foo' , (1,2,3), 3.1244423}
print('a - ', type(a), a)
print('b - ', type(b), b)
print('c - ', type(c), c)
print('d - ', type(d), d)
print('e - ', type(e), e)
print('f - ', type(f), f)
print()
# 튜플 변환(set -> tuple)
t = tuple(b)
print('t - ', type(t), t)
print('t - ', t[0], t[1:3])
# 리스트 변환 (set -> list)
l = list(c)
l2 = list(e)
print('l - ', l)
print('12 - ', l2)
print()
#길이
print(len(a))
print(len(b))
print(len(c))
print(len(d))
print(len(e))
print(len(f))
print()
2) 교집합, 합집합, 차집합, 중복원소, 부분집합
#집합 자료형 활용
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6])
# 교집합
print('s1 & s2:', s1 & s2)
print('s1 & s2 : ', s1.intersection(s2))
#합집합
print('s1 | s2 :', s1 | s2)
print('s1 | s2 :', s1.union(s2))
#차집합
print('s1 - s2 :', s1 - s2)
print('s1 - s2 :', s1.difference(s2))
#중복 원소 확인
print('s1 & s2 : ', s1.isdisjoint(s2))
# 부분 집합 확인
print('subset: ', s1.issubset(s2))
print('superset: ',s1.issuperset(s2))
3) 집합(Set)의 추가, 삭제
#추가 & 제거
s1 = set([1,2,3,4])
s1.add(5)
print('s1 - ', s1)
s1.remove(2)
print('s1 - ', s1)
#s1.remove(7) #에러 발생O
s1.discard(3)
s1.discard(7) #에러 발생x
print('s1 - ', s1)
s1.clear() #모두 삭제
print('s1 - ', s1)
print()
a = [1,2,3]
a.clear()
print(a)
반응형
'Backend > Python' 카테고리의 다른 글
파이썬 흐름제어 (2) - for 문 (0) | 2021.09.14 |
---|---|
파이썬 흐름제어 (1) - if 문 (0) | 2021.09.14 |
파이썬 기초 자료형 (7) - 딕셔너리(Dictionary) (0) | 2021.09.13 |
파이썬 기초 자료형 (6) - 튜플(Tuple) (0) | 2021.09.13 |
파이썬 기초 자료형 (5) - 리스트(List) (0) | 2021.09.13 |