나의 공부 일기

Python) 셋(Set) 본문

파이썬/Collection

Python) 셋(Set)

곽병권 2023. 10. 17. 10:24
728x90

Collection 자료구조 마지막 set 입니다.

set은 중복값을 허용하지 않고, 순서가 없다는 특징을 가지고 있습니다.

순서를 활용하려면 리스트나 튜플로 형변환을 시켜줘야 합니다.

주로 데이터의 중복을 제거하는 용도로 사용합니다.

 

기본적인 생성 방법은

set1 = set([1,2,3,4,1,1,1])
set2 = set("Hello")

print(set1)
print(set2)

# ---결과---
{1, 2, 3, 4}
{'e', 'o', 'H', 'l'}

입니다.

 

 

set은 교집합, 합집합, 차집합으로 표현할 수 있습니다.

 

교집합은

set1 = set([1,2,3,4,5]) 

set2 = set ([4,5,6,7,8])

 

이렇게 두개의 set이 있을때

set1 & set2 를 하거나 set1.intersection(set2) 를 한다면 교집합에 해당하는 값들을 반환해줍니다.

 

여기서 교집합이란 두개의 집합들중 겹치는 값들의 집합을 말합니다.

set1 = set([1, 2, 3, 4, 5])
set2 = set([3, 4, 5, 6, 7])
print(set1 & set2)
print(set1.intersection(set2))

---결과---
{3, 4, 5}
{3, 4, 5}

 

다음 합집합입니다.

 

두 집합들을 합친 후  중복되는것을 제외한 것들의 집합이 바로 합집합 입니다.

 

set1 | set2  이렇게 표현하거나 set1.union(set2) 이렇게 표현합니다.

set1 = set([1, 2, 3, 4, 5])
set2 = set([3, 4, 5, 6, 7])
print(set1 | set2)
print(set1.union(set2))
 
---결과---
{1, 2, 3, 4, 5, 6, 7}
{1, 2, 3, 4, 5, 6, 7}

 

마지막은 차집합입니다.

 

두 집합간 겹치는 값들을 모두 제거한 값들의 집합을 차집합 이라고 합니다.

 

set - set 이렇게 표현하거나 set1.difference(set2) 이렇게 표현합니다.

 

set1 = set([1, 2, 3, 4, 5])
set2 = set([3, 4, 5, 6, 7])
print(set1 - set2)
print(set1.difference(set2))
 
---결과---
{1, 2}
{1, 2}

 

set 관련 함수로 add() , update(), remove() 가 있습니다.

 

add는 set에 값을 추가해주는 기능을 가지고 있고,

update는 여러개의 값을 추가해주는 기능을 가지고 있습니다.

마지막으로 remove는 값을 지워주는 기능을 가지고 있습니다.

 

add()

set1 = set([1, 2, 3, 4, 5])
set1.add(8)
print(set1)

# ---결과---
{1, 2, 3, 4, 5, 8}

 

update()

set1 = set([1, 2, 3, 4, 5])
set1.update([6, 7, 8])
print(set1)

# ---결과---
{1, 2, 3, 4, 5, 6, 7, 8}

 

remove()

set1 = set([1, 2, 3, 4, 5])
set1.remove(1)
print(set1)

# ---결과---
{2, 3, 4, 5}

 

여기까지 셋(set) 집합 에 대해 정리해보았습니다.

728x90

'파이썬 > Collection' 카테고리의 다른 글

Python) 딕셔너리(Dictionary)  (1) 2023.10.16
Python) 튜플(tuple)  (0) 2023.10.16
Python) 리스트(list) 2/2  (0) 2023.10.16
Python) 리스트(list) 1/2  (0) 2023.10.16