집합 자료형

Programming/Python 2013. 3. 7. 00:28 |


set과 frozenset 이라는 집합 내장 자료형이 새롭게 도입되었다. 집합 연산에 필요한 다양한 연산을 수행할 수 있다. set과 frozenset 자료형은 변경 불가능한 값들을 저장하는 순서가 없는 집합적 자료형이다. 

set 자료형은  변경 가능 자료형

frozenset 자료형은 변경 불가능 자료형. 즉, frozenset 은 자신을 변경시키는 연산을 수행할 수 없다.


set 과 frozenset 공통적으로 적용될 수 있는 연산들

 연산

동등한 표현 

내 용 

len(s) 

 

원소의 수 

x in s 

 

멤버쉽 테스트 

x not in s 

 

멤버쉽 테스트 

s.issubset(t) 

s <= t 

s가 t의 부분 집합인가 

s.superset(t) 

s >= t 

포함 집합인가 

s.union(t) 

s | t 

새로운 s와 t의 합집합 

s.intersection(t) 

s & t 

교집합 

s.difference(t) 

s - t 

차집합 

s.symmetric_difference(t) 

s ^ t 

배타집합 

s.copy() 

 

집합 s를 얕은 복사 



set 자료형에만 적용 가능한 연산들

 연 산

동등한 표현 

내 용 

 s.update(t)

s |= t 

 s와 t의 합집합을 s에 저장

s.intersection_update(t) 

s &= t 

 s와 t의 교집합을 s에 저장

s.difference_update(t) 

s -= t 

 s와 t의 차집합을 s에 저장

s.symmetric_difference_update(t)

s ^= t 

 s와 t의 배타집합을 s에 저장

s.add(x) 

 

 원소 x를 s에 추가

s.remove(x) 

 

 원소 x를 s에서 제거. 없으면 keyError 예외 발생

s.discard(x) 

 

 원소 x가 있다면 s에서 제거

s.pop() 

 

 s에서 임의의 원소를 하나 리턴하고 집합에서는 제거. 빈 집합이면 예외 발생

s.clear() 

 

 집합 s의 모든 원소 제거



Posted by scii
: