파이썬/자료형

파이썬 자료형 - 집합(set)

kimble2 2024. 7. 30. 21:31
반응형

 

이번에는 파이썬 자료형 중 집합(set)에 대하여 알아보겠습니다

 

파이썬의 집합(set) 자료형은 중복을 허용하지 않는 요소들의 모임을 표현합니다. 집합은 요소들의 순서가 없으며, 따라서 인덱싱이나 슬라이싱이 불가능합니다. 파이썬의 집합은 수학에서의 집합 개념과 유사하며, 집합 연산(합집합, 교집합, 차집합 등)을 효과적으로 수행할 수 있습니다.

집합 생성

집합은 중괄호 {}를 사용하거나 set() 함수를 사용하여 생성할 수 있습니다.

# 빈 집합 생성 (주의: {}는 빈 딕셔너리)
empty_set = set()

# 초기화된 집합
fruits = {'apple', 'banana', 'cherry'}

# 중복 요소가 자동으로 제거됨
numbers = {1, 2, 2, 3, 4, 4, 5}
print(numbers)  # 출력: {1, 2, 3, 4, 5}

# set() 함수로 리스트를 집합으로 변환
list_to_set = set([1, 2, 3, 1, 2])
print(list_to_set)  # 출력: {1, 2, 3}
 

집합의 주요 특징

  1. 중복 없음: 집합은 중복된 요소를 허용하지 않습니다.
  2. 순서 없음: 집합의 요소는 순서가 없으며, 따라서 인덱스를 사용할 수 없습니다.

집합의 주요 메서드와 연산

요소 추가 및 제거

# 요소 추가
fruits = {'apple', 'banana'}
fruits.add('cherry')
print(fruits)  # 출력: {'apple', 'banana', 'cherry'}

# 요소 제거
fruits.remove('banana')
print(fruits)  # 출력: {'apple', 'cherry'}

# 요소 제거 (존재하지 않을 경우 KeyError 방지)
fruits.discard('grape')
print(fruits)  # 출력: {'apple', 'cherry'}

# 임의의 요소 제거 및 반환
removed_item = fruits.pop()
print(removed_item)  # 출력: 'apple' (제거된 요소)
print(fruits)        # 출력: {'cherry'}

# 모든 요소 제거
fruits.clear()
print(fruits)  # 출력: set()
 

 

집합 연산

파이썬 집합은 다양한 집합 연산을 지원합니다.

A = {1, 2, 3, 4}
B = {3, 4, 5, 6}

# 합집합 (Union)
print(A | B)  # 출력: {1, 2, 3, 4, 5, 6}
print(A.union(B))  # 출력: {1, 2, 3, 4, 5, 6}

# 교집합 (Intersection)
print(A & B)  # 출력: {3, 4}
print(A.intersection(B))  # 출력: {3, 4}

# 차집합 (Difference)
print(A - B)  # 출력: {1, 2}
print(A.difference(B))  # 출력: {1, 2}

# 대칭 차집합 (Symmetric Difference)
print(A ^ B)  # 출력: {1, 2, 5, 6}
print(A.symmetric_difference(B))  # 출력: {1, 2, 5, 6}
 

기타 메서드

A = {1, 2, 3}
B = {1, 2}

# 부분집합 (Subset) 확인
print(B.issubset(A))  # 출력: True
print(A.issubset(B))  # 출력: False

# 상위집합 (Superset) 확인
print(A.issuperset(B))  # 출력: True
print(B.issuperset(A))  # 출력: False

# 두 집합이 겹치는 요소가 없는지 확인
C = {4, 5, 6}
print(A.isdisjoint(C))  # 출력: True
 

집합의 활용 사례

  1. 중복 제거: 리스트 등에서 중복된 요소를 제거할 때 유용합니다.
numbers = [1, 2, 3, 1, 2, 4]
unique_numbers = list(set(numbers))
print(unique_numbers)  # 출력: [1, 2, 3, 4]
 
 

2.데이터 비교: 두 집합 간의 유사성, 차이점 등을 쉽게 비교할 수 있습니다.

3.고유 값 저장: 데이터베이스와 같은 시스템에서 고유 값을 저장하고 관리할 때 사용합니다

4.집합 연산 활용: 데이터의 교집합, 합집합, 차집합 등을 쉽게 구할 수 있습니다.

파이썬의 집합 자료형은 그 특성상 중복을 제거하고 다양한 집합 연산을 수행할 때 매우 유용하며, 데이터 분석, 필터링, 비교 등에서 널리 사용됩니다.

 

 

#python #자료형 #집합 #파이썬 #set

 

 

반응형

'파이썬 > 자료형' 카테고리의 다른 글

파이썬 자료형 - 딕셔너리  (0) 2024.07.30
파이썬 자료형 - 튜플  (0) 2024.07.30
파이썬 자료형 - 리스트  (0) 2024.07.30
파이썬 자료형 - 문자형  (0) 2024.07.27
파이썬 자료형 - 숫자형  (0) 2024.07.27