집합 (Set)
집합은 정렬되지 않은 객체의 묶음이다. 흔히 아는 집합과 마찬가지로 중복을 허용하지 않고 순서가 없는 특징을 가진다. 집합은 순서가 없는 자료형이기 때문에 인덱싱도 지원하지 않는다.
1) 집합 선언
집합 자료형은 set키워드를 사용하여 선언할 수 있다. 아래의 예제를 보면 순서를 가지지 않는 것을 확인할 수 있다.
※ 중복을 허용하지 않는 set의 특징때문에 자료형의 중복을 제거하기 위한 필터 역할로 사용된다.
>>> s2 = set("Python")
>>> s2
{'h', 'o', 'y', 't', 'n', 'P'}
2) 집합 자료형의 활용 (교집합, 합집합, 차집합)
활용을 위해 위와 같이 선언을 하였다.
>>> s1 = set([1, 3, 5, 7, 9])
>>> s2 = set([2, 3, 4, 7, 8])
교집합 (&, intersection())
>>> s1 & s2
{3, 7}
>>> s1.intersection(s2)
{3, 7}
합집합 (|, union())
>>> s1 | s2
{1, 2, 3, 4, 5, 7, 8, 9}
>>> s1.union(s2)
{1, 2, 3, 4, 5, 7, 8, 9}
차집합 (-, difference())
>>> s1 - s2
{1, 5, 9}
>>> s1.difference(s2)
{1, 5, 9}
3) 집합 자료형의 값 추가, 제거
값 추가 (add())
>>> s1 = set([1, 3, 5])
>>> s1.add(7)
>>> s1
{1, 3, 5, 7}
여러개의 값 한번에 추가 (update())
>>> s1 = set([1, 3, 5])
>>> s1.update([2, 4, 6])
>>> s1
{1, 2, 3, 4, 5, 6}
값 제거 (remove())
>>> s1 = set([2, 4, 6])
>>> s1.remove(4)
>>> s1
{2, 6}
반응형
'Dev > Python' 카테고리의 다른 글
[python] file의 md5 checksum 구하는 방법 (0) | 2019.08.13 |
---|---|
[python] wget 사용하는 방법 (0) | 2019.08.12 |
Python 자료형 - 5. 딕셔너리 (Dictionary) (0) | 2019.06.30 |
Python 자료형 - 4. 튜플 (Tuple) (0) | 2019.06.30 |
Python 자료형 - 3. 리스트 (List) (0) | 2019.06.30 |