데이터구조 4
데이터구조
집합형
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, 사용 예
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}
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() 로 표시해줌
공통의 값을 찾을 때 사용한다
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'}
Author And Source
이 문제에 관하여(데이터구조 4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sayxyoung/python-syntax-set저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)