yoooniverse

[PYTHON] set 자료형 기본 문법 본문

PYTHON

[PYTHON] set 자료형 기본 문법

Ykl 2022. 11. 7. 23:47
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

집합(set) 파이썬 2.3부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형

 

set의 가장 중요한 특징

  • 중복을 허용하지 않는다.
  • 순서가 없다(Unordered).

순서가 없기 때문에 인덱싱으로 값을 얻을 없다.

set 자료형에 저장된 값을 인덱싱으로 접근하고 싶다면 리스트나 튜플로 자료형 변환을 먼저 수행해야 함.

 


s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

두 집합을 가지고 set 자료형의 기본 연산을 수행해 보자.

1. 교집합

s1 & s2				#{4, 5, 6}
s1.intersection(s2)		#{4, 5, 6}

2. 합집합

s1 | s2			#{1, 2, 3, 4, 5, 6, 7, 8, 9}
s1.union(s2)		#{1, 2, 3, 4, 5, 6, 7, 8, 9}

3. 차집합

s1 - s2			#{1, 2, 3}
s2 - s1			#{8, 9, 7}

s1.difference(s2)		#{1, 2, 3}
s2.difference(s1)		#{8, 9, 7}

여기서 difference에 놓이는 인자에 따라 결과값이 달라짐


A. 값 1개 추가하기 (add)

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

B. 값 여러 개 추가하기(update)

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

C. 특정 값 제거하기(remove)

>>> s1 = set([1, 2, 3])
>>> s1.remove(2)
>>> s1
{1, 3}

+) range 함수로 set 만들기

set(range(stop))
set(range(start, stop))
set(range(start, stop, step))

 

1부터 10까지 원소를 가지는 집합 자료형을 만들고 싶다면

>>>> example = set(1, range(10)+1)
>>>> example
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

'PYTHON' 카테고리의 다른 글

[python] try-except 구조  (0) 2024.06.16
[python] Mac OS 파이썬 설치 확인 방법  (0) 2024.05.25
[python] enumerate() 파이썬 내장 함수  (0) 2023.01.28
Comments