EverGiver

02-6 집합 자료형 본문

Python/문법

02-6 집합 자료형

친절한개발초보자 2021. 7. 29. 23:19
728x90
집합 자료형은 어떻게 만들까?
>>> s1 = set([1,2,3])
>>> s1
{1, 2, 3}
>>> s2 = set("Hello")
>>> s2
{'e', 'H', 'l', 'o'}

 

집합 자료형의 특징
  • 중복을 혀용 하지 않는다.
  • 순서가 없다.
    - 리스트나 튜플은 순서가 있기 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있다.
    - set 자료형이나 딕셔너리는 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없다.
    >>> s1 = set([1,2,3])
    >>> l1 = list(s1) // 리스트로 변환
    >>> l1
    [1, 2, 3]
    >>> l1[0]
    1
    >>> t1 = tuple(s1) // 튜플로 변환
    >>> t1
    (1, 2, 3)
    >>> t1[0]
    1
교집합, 합집합, 차집합 구하기
>>> s1 = set([1, 2, 3, 4, 5, 6])
>>> s2 = set([4, 5, 6, 7, 8, 9])
  • 교집합
    >>> s1 & s2
    {4, 5, 6}​
    → '&' 기호 또는 intersection 함수를 사용해도 동일한 결과를 돌려준다.
    >>> s1.intersection(s2) 
    {4, 5, 6}​
  • 합집합
    >>> s1 | s2
    {1, 2, 3, 4, 5, 6, 7, 8, 9}
    → '|' 기호 또는 union 함수를 사용한다.
    >>> s1.union(s2)
    {1, 2, 3, 4, 5, 6, 7, 8, 9}​
  • 차집합
    >>> s1 - s2
    {1, 2, 3}
    >>> s2 - s1
    {8, 9, 7}​
    → '-' 기호 또는 difference 함수를 사용한다.
    >>> s1.difference(s2) 
    {1, 2, 3} 
    >>> s2.difference(s1)
    {8, 9, 7}​
집합 자료형 관련 함수
  • 값 1개 추가하기(add)
    >>> s1 = set([1, 2, 3])
    >>> s1.add(4)
    >>> s1
    {1, 2, 3, 4}​
  • 값 여러 개 추가하기(update)
    >>> s1 = set([1, 2, 3])
    >>> s1.update([4, 5, 6])
    >>> s1
    {1, 2, 3, 4, 5, 6}​
  • 특정 값 제거하기(remove)
    >>> s1 = set([1, 2, 3])
    >>> s1.remove(2)
    >>> s1
    {1, 3}​
728x90

'Python > 문법' 카테고리의 다른 글

자료형의 값을 저장하는 공간, 변수  (0) 2021.07.30
불 자료형  (0) 2021.07.30
02-5 딕셔너리 자료형  (0) 2021.07.27
02-4 튜플 자료형  (0) 2021.07.25
02-3 리스트 자료형  (0) 2021.07.23
Comments