-
자료형에 따른 활용법(함수 등) - 집합자료(set)파이썬 2020. 7. 1. 05:51
1. 집합 자료형(set) 만들기 : set ( x )
set를 만들기 위해서는 set( ) 함수를 써서 요소들을 넣어주면 만드는 것이 가능하다.
>>> a = set([1,2,3]) >>> a {1, 2, 3}
2. 집합 자료형의 특징
*집합 자료형의 가장 큰 특징은 중복을 허용하지 않는 것과 순서가 없다는 것이다.
아래 예시와 같이 set()함수를 써줄 경우 그 안에 있는 요소들은 중복이 사라진다.
>>> a = set("hello") >>> a {'h', 'o', 'l', 'e'}
3. 집합 자료형으로 인덱싱 하는 법
* 집합 자료형은 앞서 말했듯 순서가 없기 때문에 인덱싱이 불가능하다.
* 인덱싱을 위해서 리스트 혹은 튜플로 변경하여 인덱싱을 해야한다.
>>> a = set([1,2,3,4,5]) >>> a {1, 2, 3, 4, 5} >>> b = list(a) #set를 리스트로 바꾸는 함수 >>> b [1, 2, 3, 4, 5] >>> b = b[0:2] #세트를 리스트로 슬라이싱 하는 부분 >>> b [1, 2] >>> b = set(b) #리스트를 set로 바꾸는 함수 >>> b {1, 2}
>>> a = set([1,2,3,4,5]) >>> b = tuple(a) #세트를 튜플로 바꾸는 함수 >>> c = list(a) # 리스트를 듀플로 바꾸는 함수 >>> b (1, 2, 3, 4, 5) >>> c [1, 2, 3, 4, 5]
4. 집합 자료형으로 교집합 / 합집합 / 차집합 구하기
교집합 구하기 : set( x ) & set ( y ) or x.intersection( y )
>>> s1 = set([1, 2, 3, 4, 5, 6]) >>> s2 = set([4, 5, 6, 7, 8, 9]) >>> s1 & s2 {4, 5, 6} >>> s1.intersection(s2) {4, 5, 6}
합집합 구하기 : set( x ) | set( y ) or x.union( y )
>>> s1 = set([1, 2, 3, 4, 5, 6]) >>> s2 = set([4, 5, 6, 7, 8, 9]) >>> s1 | s2 {1, 2, 3, 4, 5, 6, 7, 8, 9} >>> s1.union(s2) {1, 2, 3, 4, 5, 6, 7, 8, 9}
차집합 구하기 : set( x ) - set( y ) or x.difference( y )
>>> s1 = set([1, 2, 3, 4, 5, 6]) >>> s2 = set([4, 5, 6, 7, 8, 9]) >>> s1 - s2 {1, 2, 3} >>> s2.difference(s1) {8, 9, 7}
5. 집합 자료형 관련 함수
값 1개 추가하기 : x.add( y )
>>> s1 = set([1, 2, 3]) >>> s1.add(4) >>> s1 {1, 2, 3, 4}
값 여러개 추가하기 : x.update( y )
>>> s1 = set([1, 2, 3]) >>> s1.update([4, 5, 6]) >>> s1 {1, 2, 3, 4, 5, 6}
특정 값 제거하기 : x.remove( y )
* 집합 자료형은 순서가 없기 때문에 인덱싱을 할 수 없다.
* del 함수와 같이 위치를 찾아서 삭제하는 함수는 사용할 수 없다.
>>> s1 = set([1, 2, 3]) >>> s1.remove(3) >>> s1 {1, 2}
모든 값 제거하기 : x.clear( )
>>> s1 = set([1, 2, 3]) >>> s1.clear() >>> s1 set()
'파이썬' 카테고리의 다른 글
파이썬하면서 햇갈리는 함수와 그 성질들 (0) 2020.07.02 자료형에 따른 활용법(함수 등) - 불, 불리언, 논리자료형 (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 딕셔너리 (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 튜플 (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 리스트 (0) 2020.07.01