본문 바로가기
코딩/Python

10) 집합(set)

by 엘리야스 2023. 7. 18.

집합(set)란?

집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.

집합의 특징은 중복이 없으며, 순서도 없다.

 

1. 집합의 구성

my_set  = {1,2,3,3,3}
print(my_set) # {1, 2, 3}

3개의 3이 터미널에는 하나만 출력되어 중복이 안 되는 모습이다.

 

java = {"정상길", "김찬호", "손인욱"}
python = set(["정상길", "박종우"])

예를 들어, 위처럼 자바와 파이썬의 개발자의 집합을 구성하자.

중괄호{  } 또는 set([  ])으로 구성 할 수 있다.

 

 

 

 

2. 여러가지 집합

 

2-1) 교집합

# 교집합
print(java & python)              # {'정상길'}
print(java.intersection(python))  # {'정상길'}

자바와 파이썬을 둘 다 구사하는 개발자는 교집합을 통해 나타낼 수 있다.

 & 또는 intersection(  )으로 가능하다.

 

 

2-2) 합집합

# 합집합
print(java | python)      # {'김찬호', '정상길', '박종우', '손인욱'}
print(java.union(python)) # {'김찬호', '정상길', '박종우', '손인욱'}, 순서 X

자바와 파이썬 중 둘 중에 하나라도 할 줄 하는 개발자.

|( or) 또는 union(  )으로 가능하다.

이때 터미널 창엔 순서와 중복이 없어서 '정상길'이 한 번 나오고 순서가 뒤바뀐 모습이다.

 

 

2-3) 차집합

# 차집합
print(java - python)           # {'김찬호', '손인욱'}
print(java.difference(python)) # {'김찬호', '손인욱'}

차집합도 가능하다.

-와 difference(  )를 통해 가능하다.

 

 

 

 

3.  수정과 편집

# 수정과 편집
python.add("미야")
python.update(["장지환", "최인석"])
java.remove("김찬호")

add(  )로 추가, update([   ])로 다량으로 추가, remove(  )으로 제거도 가능하다.

'코딩 > Python' 카테고리의 다른 글

12) if  (0) 2023.07.21
11) 자료형 구조의 변경  (0) 2023.07.18
9) 튜플  (1) 2023.07.18
8) 사전  (0) 2023.07.18
7) 리스트  (0) 2023.07.11