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
'IT > 파이썬' 카테고리의 다른 글
11. 파이썬(Python) 기초-변수(variable) (0) | 2023.01.06 |
---|---|
10. 파이썬(Python) 기초-자료형의 종류-딕셔너리(Dictionary) (0) | 2023.01.06 |
8. 파이썬(Python) 자료형의 종류 - 튜플(Tuple) (0) | 2022.12.31 |
7. 파이썬(Python) 자료형의 종류 - 리스트(List) (0) | 2022.12.31 |
6. 파이썬(Python) 자료형의 종류 - 문자형 (1) | 2022.12.24 |
댓글