728x90
[세트(Set) : 리스트와 같이 여러 개의 데이터를 집합의 형태로 집어 넣을 수 있는 공간]
- 중괄호를 이용하여, 데이터를 묶어 줌
- c = {1,2,3,4,5} #5개의 데이터가 c라는 변수에 모두 담겨있음
- 집합 내 데이터 간 순서 없음, 중복을 허용하지 않음
- 집합 내 데이터 변경이 가능
- 집합연산이 가능 (Van Diagram 개념)
A&B A와 비의 교집합 연산
A | B |
A-B | A집합에서 B집합의 원소를 제외한 나머지 |
A^B | A집합과 B집합의 교집합을 제외한 나머지 |
- Set의 선언과 형태 (중복된 값은 스스로 제외하고 출력)
A = {10, 20, 30, 40, 10}
print(A)
print(type)
#{40, 10, 20, 30}
#<class 'type'>
B = {10,10,10,10,10,10}
print(B)
#{10}
Set1 = set([1,2,3,4,5,6])
print(Set1)
print(type(Set1))
#{1, 2, 3, 4, 5, 6}
#<class 'set'>
- Set의 집합연산
C = {10,20,30,40,50}
D = {40,50,60,70}
#교집합 연산
print(C&D)
#{40, 50}
#합집합 연산
print(C|D)
#{70, 40, 10, 50, 20, 60, 30}
#차집합 연산 : C집합에서 D집합의 원소를 뺀 나머지
print(C-D)
#{10, 20, 30}
#대상 차집합 연산 : 교집합을 제외한 나머지 원소 출력
print(C^D)
#{70, 10, 20, 60, 30}
- A.intersection(B) : A와 B의 교집합을 연산 (A&B와 같은 결과)
- A.union(B) : A와 B의 합집합을 연산 (A|B와 같은 결과)
- A.difference(B) : A와 B의 차집합을 연산 (A-B와 같은 결과)
print(C.intersection(D))
print(C.union(D))
print(C.difference(D))
#{40, 50}
#{70, 40, 10, 50, 20, 60, 30}
#{10, 20, 30}
- A.add(n) : A의 Set에 n이라는 값을 추가
C.add(100)
C
#{10, 20, 30, 40, 50, 100}
- A.update([n1, n2, n3]) : A의 Set에 [n1, n2, n3]의 여러 값을 추가
C.update([1,2,3,4,5])
C
#{1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100}
C.remove(30)
C
#{1, 2, 3, 4, 5, 10, 20, 40, 50, 100}
728x90
'python 기초 > [Data Type : 자료 형태]' 카테고리의 다른 글
Dictionary (1) | 2023.06.27 |
---|---|
Tuple (0) | 2023.06.27 |
List (0) | 2023.06.27 |
Data Type (0) | 2023.06.27 |