집합을 표현하는 집합자료형 set이 있습니다.
알파벳세트를 만들어봅시다.
처음 빈 세트를 만들려면 아래와 같이 작성합니다.
>>> abcd= set()
>>> abcd= {'a', 'b', 'c'}
또한 문자열도 가능합니다.
>>> s2 = set("home")
>>> s2
{'m', 'h', 'e', 'o'}
집합자료형은 중복을 허용하지 않고, 순서가 없습니다. (리스트와 튜플의 차이! 리스트와 튜플은 순서가 있습니다.)
1) add()
여기에 d를 추가할 수 있습니다.
>>> abcd.add('d')
>>> abcd
{'a', 'b', 'c', 'd'}
2) type
선언해준 abcd의 타입을 확인할 수 있습니다.
>>> type(abcd)
<class 'set'>
3) 교집합 합집합 가능
교집합 합집합이 가능합니다. 테스트를 위해 efg라는 set를 또 만들어줍니다.
>>> efg= {'a', 'f', 'g'}
>>> efg
{'a', 'f', 'g'}
- 교집합
"&" 기호를 이용하면 교집합을 간단히 구할 수 있습니다.
>>> abcd & efg
{'a'}
또는 다음과 같이 intersection 함수를 사용해도 됩니다.
>>> abcd.intersection(efg)
{'a'}
- 합집합
"|" 기호를 이용하면 합집합을 간단히 구할 수 있습니다.
>>> abcd | efg
{'a', 'b', 'c', 'f', 'g'}
또는 union 함수를 사용합니다.
>>> abcd.union(efg)
{'a', 'b', 'c', 'f', 'g'}
'a'는 합집합에서 한 번만 결과가 나옵니다.
4) 뺄샘
>>> a1 = {1, 2, 3, 4, 5, 6}
>>> a2 = {3, 6, 9}
>>> a1 - a2
{1, 2, 4, 5}
함수 difference 도 쓸 수 있습니다.
>>> a1.difference(a2)
{1, 2, 4, 5}
5) set 자료형 리스트 변환
만약 set자료형에 젖아된 값을 인덱싱으로 접근하려면 다음과 같이 리스트나 튜플로 변환한 뒤
접근해야 한다.
>>> s1 = set([1,2,3])
>>> l1 = list(s1)
>>> l1
[1, 2, 3]
>>> l1[0]
1
6) set 자료형 튜플로 변환
>>> t1 = tuple(s1)
>>> t1
(1, 2, 3)
>>> t1[0]
1
'Python' 카테고리의 다른 글
True False / bool 불 / 자료형 (0) | 2022.01.17 |
---|---|
집합 자료형 함수 정리 (0) | 2022.01.17 |
딕셔너리 (0) | 2022.01.16 |
튜플 예제 (0) | 2022.01.15 |
리스트 자료형 2 (0) | 2022.01.14 |
댓글