Post List

2015년 8월 21일 금요일

Python 기초 #10 Set (집합)

1. set  이란 ?

- 중복을 허용하지 않고
- 순서가 없는(unordered) Collection 입니다.
  순서가 없다는 것은 Indexing으로 접근을 할 수가 없습니다.
  Indexing으로 접근하기 위해서는 set을 list나 tuple로 변환한 후에 가능합니다.

>>> sNum = set([ 1, 2, 3])
>>> sNum
{1, 2, 3}
>>> sStr = set('LunaStar')
>>> sStr
{'n', 'S', 'r', 'L', 't', 'a', 'u'}
>>> lNum = list(sNum)
>>> lNum
[1, 2, 3]
>>> lNum[1]
2

2. set의 활용

set의 중복이 허용되지 않는 다는 특징을 이용하여
교집합, 합집합, 차집합 등 수학시간에 배운 집합 연산 용도로 활용이 가능합니다.

- 교집합 : intersection( ) 함수 , & 연산자

>>> s1 = set([1,2,3])
>>> s2 = set([1,3,5])
>>> s1 & s2
{1, 3}
>>> s1.intersection(s2)
{1, 3}

- 합집합 : union( ) 함수 , | 연산자

>>> s1 | s2
{1, 2, 3, 5}
>>> s1.union(s2)
{1, 2, 3, 5}

- 차집합 : difference( ) 함수 , - 연산자

>>> s1 - s2
{2}
>>> s1.difference(s2)
{2}

3. set에 추가, 삭제

- add ( ) 함수 : 하나의 element 를 추가 할 수 있습니다.
- update( ) 함수 : 여러 element를 담은 list를 이용하여 추가 할 수 있습니다.
- remove( ) 함수 : 하나의 element를 삭제 할 수 있습니다.

>>> s1 = set([1,2,3])
>>> s1.add(4)
>>> s1
{1, 2, 3, 4}
>>> s1.update([4,5,6])
>>> s1
{1, 2, 3, 4, 5, 6}
>>> s1.remove(5)
>>> s1
{1, 2, 3, 4, 6}


댓글 없음:

댓글 쓰기