본문 바로가기
IT/파이썬

9. 파이썬(Python) 기초-자료형의 종류-집합(set)

by №㏇㏂〓▥ 2023. 1. 5.
728x90

자료형의 종류 - 집합(set)

집합은 수학의 집합 성질과 비슷하며, 중괄호 ( { } )set함수를 사용하여 만들 수 있다.

set자료형의 주요 특징으로는

  • 중복된 데이터를 가지지 않는다.
  • 순서가 정해져 있지 않다.

중복 데이터를 만드는 더하기( + ), 곱하기( * )를 사용할 수 없고, 순서가 없으므로 인덱싱 기능을 사용할 수 없다.

 

집합(set) 사용 방법
- 중괄호{ } 혹은 set 함수를 사용하여 콤마( , )를 구분자로 하여 표현한다.
>>> s_1 = {1,2,3,4} ==> { } 사용한 집합 생성
>>> print(s_1)
# 결과값 : {1,2,3,4}

>>> s_2 = set([1,2,3,4]) ==> set 함수를 사용한 집합 생성
>>> print(s_2)
# 결과값 : {1,2,3,4}

빈 집합은 s = set()으로 만들 수 있다.

 

집합(set) 연산
- 수학의 교집합, 합집합, 차집합과 같은 연산 기능을 제공한다
  • 교집합 기능
>>> s_1= { 1, 2, 3, 4, 5 }
>>> s_2= { 1, 3, 5, 7 }
>>> i_1 = s_1 & s_2
>>> print( i_1 )
# 결과값 : {1, 3, 5} 

 >>> i_2 = s_1.intersection(s_2)
>>> print( i_2 )
# 결과값 : {1, 3, 5}

&” 기호를 사용하여 차집합을 구할 수 있고, intersection함수를 사용해도 구할 수 있다.

 

  • 합집합 기능
>>> s_1= { 1, 2, 3, 4, 5 }
>>> s_2= { 1, 3, 5, 7 }
>>> u_1 = s_1 | s_2
>>> print( u_1)
# 결과값 : {1, 2, 3, 4, 5, 7} 

 >>> u_2 = s_1.union(s_2)
>>> print( u_2 )
# 결과값 : {1, 2, 3, 4, 5, 7}

|” 기호를 사용하여 합집합을 구할 수 있고, union함수를 사용해도 구할 수 있다.

 

  • 차집합 기능
>>> s_1= { 1, 2, 3, 4, 5 }
>>> s_2= { 1, 3, 5, 7 }
>>> d_1 = s_1 -s_2
>>> print( d_1)
# 결과값 : {2, 4} 

 >>> d_2 = s_1.difference (s_2)
>>> print( d_2 )
# 결과값 : {2, 4}

-” 기호를 사용하여 합집합을 구할 수 있고, difference함수를 사용해도 구할 수 있다.

 

집합(set) 관련 함수들

add : 하나의 원소를 추가할 때 사용
>>> s= { 1, 2, 3, 4, 5 }
>>> s.add(6) 
>>> print( s )
# 결과값 : { 1, 2, 3, 4, 5, 6 }

 

update : 여러 개의 원소를 추가할 때 사용
>>> s= { 1, 2, 3, 4, 5 }
>>> s.update([6,7,8]) 
>>> print( s )
# 결과값 : { 1, 2, 3, 4, 5, 6, 7, 8 }

min 함수도 max와 같이 모든 요소는 숫자형이어야 한다.

 

remove : 원소를 제거할 때 사용
>>> s= { 1, 2, 3, 4, 5 }
>>> s.remove(3) 
>>> print( s )
# 결과값 : { 1, 2, 4, 5 }

>>> s.remove(9)
Traceback (most recent call last):
  File "<pyshell#101>", line 1, in <module>
    s.remove(9)
KeyError: 9

존재하지 않는 원소를 제거하면 Error가 발생한다.

 

discard : 에러 없이 원소를 제거할 때 사용
>>> s= { 1, 2, 3, 4, 5 }
>>> s.discard(9)
>>>
clear : 모든 원소를 제거하고, 공집합 반환
>>> s= { 1, 2, 3, 4, 5 }
>>> s.clear()
>>> print(s)
#결과값 : set()
728x90

댓글