-
Python 문법 기초 6 - 묶음형 자료형(set)Python 2022. 10. 22. 15:11
# 순서 X, 중복 X a = {1,2,3,1} print(a, type(a), len(a)) b = {3, 4} print(a.union(b)) # 합집합 print(a.intersection(b)) # 교집합 print(a - b) # 차집합 print(a | b) # 합집합 print(a & b) # 교집합 <console> {1, 2, 3} <class 'set'> 3 {1, 2, 3, 4} {3} {1, 2} {1, 2, 3, 4} {3}
set은 순서, 중복이 불가능하다. 그러므로 수정도 불가능하다.
이런식으로 합집합, 교집합, 차집합을 표현할 수 있다.
a = {1,2,3,1} print(a) # print(a[0]) # 'set' object is not subscriptable # a[0] = 100 # err a.update({4,5}) # 함수를 이용한 추가 가능 a.update([6,7,8]) a.update((9,)) print(a) a.discard(3) # 값에 의한 삭제 a.remove(5) # 값에 의한 삭제 # a.discard(3) # 해당 값이 없으면 넘어가고 있으면 삭제 된다. # a.remove(5) # 해당 값이 없으면 에러 발생 print(a) <console> {1, 2, 3} {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 4, 6, 7, 8, 9} {1, 2, 4, 6, 7, 8, 9}
set 타입은 수정이 불가능하다. 에러 발생! 수정은 불가하지만 update 로 추가는 가능하다.
삭제도 가능하다. discard 와 remove 둘 다 삭제 기능이지만
discard 는 해당 값이 없으면 넘어가고 있으면 삭제,
remove는 해당 값이 없으면 에러가 발생한다.
c = set() c = a print(c) a.clear() print(a) print(c) <console> set() set()
set() 을 호출하는 것으로 set 타입으로 호출하기
얕은 복사(치환)
clear 는 전체 삭제
print() li = [1,2,3,1,2,3] print(li) imsi = set(li) li = list(imsi) print(li) <console> [1, 2, 3, 1, 2, 3] [1, 2, 3]
list 타입인 li 를 imsi라는 변수의 set 타입을 만들어 그곳에 넣고
다시 li 의 변수를 lmsi의 값이 들어있는 list를 만든다.
'Python' 카테고리의 다른 글
Python 문법 기초 8 - 정규표현식(Python) (0) 2022.10.22 Python 문법 기초 7 - 집합형 자료형(dict) (0) 2022.10.22 Python 문법 기초 5 - 묶음형 자료형(tuple) (0) 2022.10.22 Python 문법 기초 4 - 집합 자료형(list), 얕은 복사, 깊은 복사 (0) 2022.10.22 Python 문법 기초 3 - 집합 자료형(str) (0) 2022.10.22