본문 바로가기
Python/Python 기초

[Python] 집합 자료형

by snow_white 2022. 3. 12.

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

  • 집합 자료형은 다음과 같이 set 키워드를 사용해 만들 수 있다.
  • 중복을 허용하지 않는다. 중복을 제거하기 위한 필터 역할로 쓰인다.
  • 순서가 없기 때문에 인덱싱을 통해서 자료를 조회할 수 없다.
  • 인덱싱을 사용하려면 리스트, 튜플 자료형으로 변환한 수 사용할 수 있다. list(), tuple() 변환함수 사용

 

생성하기

my_set = set()
# my_set = {} # 딕셔너리 만드는 것임
#print(type(set())) # <class 'set'>

my_set = set([1,1,2,3,6,7,8,8,8,9,10]) # 중복 제거 필터링 자동으로! 리스트 형식으로 값 넣어도 가능
my_set = set((1,1,2,3,6,7,8,8,8,9,10)) # 튜플 형식으로 값 넣어도 가능
>> {1, 2, 3, 6, 7, 8, 9, 10}
my_set # set()

 

값 추가하기

  • add() - 하나의 값을 추가하는 기능
  • update() - 여러 개의 값을 추가하는 기능 | 하나는?
my_set2 = set()
my_set2.add(1)
my_set2.add(2)
my_set2.add(3)
my_set2 # {1, 2, 3}

datas = {4,5,6,7}
#my_set2.update(8) # TypeError: 'int' object is not iterable
my_set2.update({8}) # 가능
my_set2 # {1, 2, 3, 8}

 

값 삭제하기

remove() - 사용해서 제거하고자 하는 값을 직접 입력한다

my_set2 # {1, 2, 3, 8}
my_set2.remove(8)
my_set2 # {1, 2, 3}

 

집합함수

  • 교집합 : & , intersection()
  • 합집합 : | , union()
  • 차집합 : - , difference()
a = {1,2,3,4,5}
b = {3,4,5,6,7}

a&b
a.intersection(b) # {3, 4, 5}

a|b
a.union(b)  # {1, 2, 3, 4, 5, 6, 7}

a-b
a.difference(b) # {1, 2}

'Python > Python 기초' 카테고리의 다른 글

[Python] 클래스 정의와 인스턴스 생성  (0) 2022.03.15
[Python] 함수  (0) 2022.03.12
[Python] 딕셔너리 자료형  (0) 2022.03.12
[Python] 튜플 자료형  (0) 2022.03.12
[Python] 리스트 자료형  (0) 2022.03.12

댓글