파이썬(Python)
Set 자료
BlueNoa
2021. 6. 9. 18:33
728x90
반응형
· Set - 집합형 자료
집합의 자료는 순서성이 없고, 중복을 허락하지 않는다.
중복인 데이터를 넣어도 결국엔 하나로 인식해서 결과를 처리하게 된다.
<예제>
# set 생성 방법1
a = set('apple - iphone')
print(a)
# set 생성 방법2
b = {1, 2, 3, 4, 5, 5, 4}
print(b)
<결과>
{'n', '-', 'e', ' ', 'a', 'o', 'i', 'p', 'h', 'l'} {1, 2, 3, 4, 5} |
중복되지 않고 각 요소값 하나씩만 출력된다. 그렇기 때문에 공백이 하이픈(-) 사이에 2개있지만 1개만 출력된다.
· 집합의 종류
집합이라고 하면 당연히 교집합과 합집합, 차집합이 존재한다.
1. 합집합 - union, (객체1 | 객체2)
<예제>
b = {1, 2, 3, 4, 5, 5, 4}
c = {3, 6, 8, 12, 32}
print(b.union(c))
print(b | c)
<결과>
{32, 1, 2, 3, 4, 5, 6, 8, 12} |
중복이 되는 자료는 전부 하나만 출력되는 것을 알 수 있다.
2. 교집합 - intersection, (객체1 & 객체2)
<예제>
b = {1, 2, 3, 4, 5, 5, 4}
c = {3, 6, 8, 12, 32}
print(b.intersection(c))
print(b & c)
<결과>
{3} |
3. 차집합 - (객체1 - 객체2)
<예제>
b = {1, 2, 3, 4, 5, 5, 4}
c = {3, 6, 8, 12, 32}
print(b-c)
print(c-b)
<결과>
{1, 2, 4, 5} {32, 8, 12, 6} |
· 집합 자료형 관련 함수
1. add() - 값을 1개씩 추가하기
<예제>
d = set([1, 3, 5]) # 리스트 타입 자료도 set기능으로 형 변환 가능
d.add(7) # 7이라는 데이터를 추가한다.
print(d)
<결과>
{1, 3, 5, 7} |
2. update() - 값 여러 개 추가하기
<예제>
d = set([1, 3, 5]) # 리스트 타입 자료도 set기능으로 형 변환 가능
d.update([7, 11, 13])
print(d)
<결과>
{1, 3, 5, 7, 11, 13} |
3. remove() - 특정 값 제거하기 & discard()
<예제>
d = set([1, 3, 5]) # 리스트 타입 자료도 set기능으로 형 변환 가능
d.update([7, 11, 13])
d.remove(7)
print(d)
print(d.discard(8)) # 존재하지 않는 값을 지우라고 명령해도 오류가 발생하지 않는다.
<결과>
{1, 3, 5, 11, 13} None |
존재하지 않는 값을 지우라고 명령 했으므로 None이 출력된다.
728x90
반응형