집합(Set)

데이타(또는 객체)들의 순서 없는 모음을 담는데 사용.

정렬되지 않는 고유한 원소의 모임이다.

인덱스를 사용하지 않으며, 원소의 중복이 없다는 것이다

Sets 모듈은 import 해야 사용 가능하고, set() 내장함수에일련의 데이타(또는 객체)를 넘겨주어 생성

Set 샘플코드

>>> x1 = set([3, 5, 9, 10])

>>> print(x1)
set([9, 10, 3, 5])

>>> x2 = set("Hello")

>>> print(x2)
set(['H', 'e', 'l', 'o'])

집합의 종류

  • 집합(set) : 변경 가능한 개체의 모음
  • 동결집합(frozenset) : 변경 불가능한 개체의 모음
  • 불변 개체는 한번 만들어지면 변경이 되지 않는 반면, 가변 개체는 생성 후에 변경이 가능함

집합의 기본 예제 코드

>>> # 집합을 사용하기 위해서는 우선 모듈을 들여와야한다.
>>> from sets import Set

>>> # 다음의 구문을 써서 집합을 생성한다
>>> my_set = Set([1,2,3,4,5])
>>> my_set
Set([5, 3, 2, 1, 4])

>>> # 집합에 값을 추가. 자세한 내용은 표 2-7을 참조
>>> my_set.add(6)
>>> my_set
Set([6, 5, 3, 2, 1, 4])

>>> # 중복되는 원소의 추가를 시도
>>> my_set.add(4)
>>> my_set
Set([6, 5, 3, 2, 1, 4])

집합 메서드와 함수

메소드 또는 연산 설명
len(set) 주어진 집합의원소의 개수 반환
copy() 집합의새로운 얕은 사본을 반환
difference(set2) 호출하는 집합에는 있지만 set2에는 없는 모든 원소의 새로운 집합(차집합)을 반환
intersection(set2) 호출하는 집합과 set2에 공통되는 모든 원소로 이루어진 새로운 집합(교집합)을 반환
issubbset(set2) 호출하는 집합의 모든 원소가 set2의 원소인지(부분집합)의 여부를 반환
x in set x가 set에 포함되는지의 시험하여 그 여부를 반환
x not in set x가 set에 포함되지 않는지를 시험하여 그 여부를 반환
union(set2) 호출하는 집합과 set2양쪽에 속하는 원소로 이루어진 새로운 집합(합집합)을 반환

변경 가능 집합의 메서드와 함수

메소드 또는 연산 설명
add(item) 집합에 속하지 않는 경우에 한하여 item을 집합에 추가
clear() 집합의 모든 항목을 제거
difference_update(set2) set2에 포함되는 원소를 모두 제거
discard(element) 지정된 element가 존재할 경우 집합에서 제거
intersection_update(set2) set2에도 포함되는 원소만 남김
pop() 집합에서 임의의 원소를 반환
remove(element) element가 집합에 남아있는 경우 반환하고, 그렇지 않으면 KeyError를 제기
update(set2) 집합이 set2의 모든 원소를 포함하도록 하여 반환

results matching ""

    No results matching ""