반응형
SMALL
- set type
1. 순서가 없다.
2. 중복을 허용하지 않는다.
3. 집합(묶음) 이라고 생각하면 된다.
set type 데이터
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #-*- coding: utf-8 -*- # set type 데이터 만들기 set1={10, 20, 30, 40, 50} print set1 print "len(set1) :", len(set1) # set type 에 데이터 추가하기 set1.add(60) set1.add(70) set1.add(70) set1.add(70) set1.add(10) print "set1:", set1 | cs |
set type 데이터를 만들고 출력을 해보면 순서가 없는 것을 확인 할 수 있고
70을 3번 이나 추가했는데도
결과에 70이 1개 밖에 없는 걸 보면 중복을 허용하지 않는다는 것을 확인 할 수 있다.
set type 데이터 합집합, 교집합, 차집합
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #-*- coding: utf-8 -*- # set type 데이터 만들기 set1={10, 20, 30, 40, 50, 60, 70} # 새로운 set type 데이터를 만들고 set2={60, 70, 80, 90, 100} # 두 set 간의 합집합 unionResult = set1.union(set2) print "set1 union set2 : ", unionResult # 두 set 간의 교집합 intersectionResult = set1.intersection(set2) print "set1 intersection set2 : ", intersectionResult # 두 set 간의 차집합 minusResult = set1 - set2 print "set1 - set2 :", minusResult | cs |
합집합은 union
교집합은 intersection
차집합은 -
set 에 list나 tuple 병합 / set 삭제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #-*- coding: utf-8 -*- set3={"kim","lee"} list1 = ["park","cho","lee"] tuple1 = ("one", "two") # set 에 list type 이나 tuple type 에 있는 원소 병합 시키기 set3.update(list1) print "list1 병합후 set3:", set3 set3.update(tuple1) print "tuple1 병합후 set3:", set3 #값 삭제 set3.discard("park") print "set3 에서 park discard 이후:",set3 #삭제할 값이 존재하지 않으면... set3.discard("김구라") # 무시한다. #값 삭제 remove() 이용 #삭제할 값이 존재하지 않으면 ... #set3.remove("해골") # 예외 발생! #값 모두 삭제 set3.clear() print "set3 clear() 이후 : ",set3 | cs |
.update 를 이용해서 병합
.discard 를 이용해서 삭제
모두 삭제는 clear()
중복을 허용하고 싶지 않으면 set을 사용
1 2 3 4 5 6 7 8 9 10 | #-*- coding: utf-8 -*- # list 에 저장된 데이터에서 중복을 제거 하고 싶다라면 ... list3 = [10,20,30,10,10,30,40,50,50] # set 를 이용한다. set4 = set(list3) print "set4 : ",set4 # 중복 제거후 다시 list type 으로 얻어낸다. list4 = list(set4) print "list4 : ",list4 | cs |
반응형