본문 바로가기

프로그래밍/[Python] 파이썬

[Python] 컬렉션 : 세트 자료형 (Set Type) - 데이터 타입

by GenieIT* 2024. 8. 30.

728x90
반응형
728x90
반응형

 

파이썬 데이터 타입 중 세트 타입의 기본 개념부터 활용 예제까지 쉽게 이해할 수 있도록 설명해 보았습니다.

  • 생성 방법
  • 요소 추가
  • 요소 삭제
  • 교집합 (intersection)
  • 합집합 (union)
  • 차집합 (difference)
  • 형변환

 

 

1. 파이썬 세트 (SET) 타입이란?

세트는 수학의 집합 개념을 표현한 자료형 입니다. 저장된 요소의 중복을 허용하지 않고 순서가 없기 때문에 인덱싱이 불가능 하다는 특징이 있습니다. 인덱싱을 하고 싶은 경우, 리스트(list()), 튜플(tuple())로 타입 변환 후 사용하면 된다.

리스트 타입은 [값1, 값2, ...] 으로 사용하고, 세트 타입은 {값1, 값2, ...}으로 사용합니다.

 

생성 방법 set(), {값1, 값2, ...}
요소 추가 add('값'), update()
요소 삭제 remove('값'), discard('값')
교집합 &, intersection()
합집합 |, union()
차집합 -, difference()

 

1-1. 세트 생성 방법

e = set()
print(se, type(se)) # set() <class 'set'>

se = {} 
print(se, type(se)) # {} <class 'dict'>  >>> 중괄호만 사용하면 딕셔너리 타입으로 인식

se = {1}
print(se, type(se)) # {1} <class 'set'>  >>> 중괄호 안에 요소 입력시에만 세트 타입으로 인식

 

 

1-2. 세트 요소 추가하기

se = {1, 2, 3}
se.add(4)
print(se) # {1, 2, 3, 4}

se.update([3, 4, 5])
print(se) # {1, 2, 3, 4, 5}

 

1-3. 세트 요소 삭제하기

se = {'a', 'b', 'c', 'd'}
se.discard('a')
print(se, type(se)) # {'c', 'b', 'd'} <class 'set'>

se.remove('b')
print(se, type(se)) # {'c', 'd'} <class 'set'>

 

1-4. 세트 교집합 구하기

se1 = {1, 2, 3}
se2 = {3, 4, 5}

se3 = se1 & se2
print(se3) # {3}

se3 = se1.intersection(se2)
print(se3) # {3}

 

 

1-5. 세트 합집합 구하기

se1 = {1, 2, 3}
se2 = {3, 4, 5}

se3 = se1 | se2
print(se3) # {1, 2, 3, 4, 5}

se3 = se1.union(se2)
print(se3) # {1, 2, 3, 4, 5}

 

1-6. 세트 차집합 구하기

se1 = {1, 2, 3}
se2 = {3, 4, 5}

se3 = se1 - se2
print(se3) # {1, 2}

se3 = se1.difference(se2)
print(se3) # {1, 2}

 

 

1-7. 세트 형변환 방법

se = {1, 2, 3}

li = list(se)
print(li, type(li)) # [1, 2, 3] <class 'list'>

tu = tuple(se)
print(tu, type(tu)) # (1, 2, 3) <class 'tuple'>

 

 

 

728x90
반응형