본문 바로가기
Python

집합 자료형 set

by deeplearningkakao 2022. 1. 16.
반응형

집합을 표현하는 집합자료형 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

댓글