python 기초/[Data Type : 자료 형태]

Set

쵸비 2023. 6. 27. 13:56
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