데이터구조 4

1573 단어 pythonSyntaxTILSyntax

데이터구조

집합형

a = {1, 2, 2, 3, 4, 4, 4, 5, 6}
print(a) # 중복값은 유니크한 값 하나만 나옴
 > {1, 2, 3, 4, 5, 6}
print(type(a))
 > <class 'set'>
 
b = {2, 3, 3, 6, 7}
print(b)
 > {2, 3, 6, 7}
 
print(a - b)
 > {1, 4, 5}
 
print(b - a)
 > {7}
 
print(a & b) # 교집합, &엔퍼센트사용
 > {2, 3, 6}

print(a + b) 
 ! error : TypeError: unsupported operand type(s) for +: 'set' and 'set'
 
print(a | b) # 합집합
 > {1, 2, 3, 4, 5, 6, 7}
 
print(a ^ b) # only a + only b, 합집합 - 교집합
 > {1, 4, 5, 7}

집합형 - 2, 매소드

s = {1, 2, 3, 4, 5}
print(s)
 > {1, 2, 3, 4, 5}
 
print(s[0])  
 ! error : # 집합에는 순서가 없어 에러남 TypeError: 'set' object is not subscriptable
 
s.add(6) # 집합에 값추가
print(s)
 > {1, 2, 3, 4, 5, 6}
 
s.add(6) # 집합에 값추가 한번더
print(s) 
 > {1, 2, 3, 4, 5, 6}
  > # 집합이라서 위랑 같음(중복 x)

s.remove(6)
print(s)
 > {1, 2, 3, 4, 5}

s.clear()
print(s)
 > set()
   > {}만 표시하면 사전형인지 세트인지 구분이 어려우므로
     사전형은 {}로 집합은 set() 로 표시해줌

집합형 - 3, 사용 예

공통의 값을 찾을 때 사용한다

my_friends = {'A', 'C', 'D'}
A_friends = {'B', 'D', 'E', 'F'}
print(my_friends & A_friends)
 > {'D'}
 
 
f = ['apple', 'banana', 'apple', 'banana']
kind = set(f) # 집합으로 형을 변환해서 유니크한 값만 출력
print(kind)
 > {'apple', 'banana'}

좋은 웹페이지 즐겨찾기