파이썬에서 집합(Set)은 중복되지 않는 요소들을 저장하는 자료형입니다. 집합은 순서가 없고, 파이썬에서는 다양한 집합 연산을 지원합니다. 이번 글에서는 집합의 기능들에 대해 설명하겠습니다.
1. 집합이란?
집합은 중복 없는 요소들의 모음입니다. 집합은 중괄호 '{}'를 사용하여 정의하거나, 'set()' 함수를 사용하여 생성할 수 있습니다. 리스트나 튜플과 달리, 집합은 순서가 없으며 인덱싱을 지원하지 않습니다.
# 집합 생성 예시
fruits = {"apple", "banana", "cherry"}
print(fruits) # 출력: {'apple', 'banana', 'cherry'}
# set() 함수를 사용한 집합 생성
numbers = set([1, 2, 3, 4, 5])
print(numbers) # 출력: {1, 2, 3, 4, 5}
2. 집합의 기본 연산
요소 추가 및 삭제
'add()' 함수를 사용하여 집합에 요소를 추가하고, 'remove()' 또는 'discard()' 함수를 사용하여 요소를 삭제할 수 있습니다.
# 요소 추가
fruits.add("orange")
print(fruits) # 출력: {'apple', 'banana', 'cherry', 'orange'}
# 요소 삭제
fruits.remove("banana")
print(fruits) # 출력: {'apple', 'cherry', 'orange'}
# discard() 메서드 사용 (존재하지 않는 요소를 삭제해도 에러 발생하지 않음)
fruits.discard("banana")
print(fruits) # 출력: {'apple', 'cherry', 'orange'}
집합 연산
파이썬은 수학적 집합 연산을 지원합니다. 이를 통해 두 집합 간의 합집합, 교집합, 차집합, 대칭차집합 등을 쉽게 구할 수 있습니다.
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
# 합집합
union = A | B
print(union) # 출력: {1, 2, 3, 4, 5, 6}
# 교집합
intersection = A & B
print(intersection) # 출력: {3, 4}
# 차집합
difference = A - B
print(difference) # 출력: {1, 2}
# 대칭차집합
symmetric_difference = A ^ B
print(symmetric_difference) # 출력: {1, 2, 5, 6}
3. 집합 관련 함수
'update()'
'update()' 함수는 집합에 여러 요소를 한꺼번에 추가할 때 사용합니다.
# update() 메서드 사용 예시
fruits.update(["mango", "grape"])
print(fruits) # 출력: {'apple', 'cherry', 'orange', 'mango', 'grape'}
'clear()'
'clear()' 함수는 집합의 모든 요소를 제거합니다.
# clear() 메서드 사용 예시
fruits.clear()
print(fruits) # 출력: set()
'copy()'
'copy()' 함수는 집합의 얕은 복사본을 만듭니다.
# copy() 메서드 사용 예시
A = {1, 2, 3}
B = A.copy()
print(B) # 출력: {1, 2, 3}
'issubset()', 'issuperset()'
'issubset()' 함수는 집합이 다른 집합의 부분집합인지 확인하고, 'issuperset()' 함수는 집합이 다른 집합의 상위집합인지 확인합니다.
A = {1, 2, 3}
B = {1, 2, 3, 4, 5}
print(A.issubset(B)) # 출력: True
print(B.issuperset(A)) # 출력: True
'isdisjoint()'
'isdisjoint()' 함수는 두 집합이 서로소인지(공통 요소가 없는지) 확인합니다.
A = {1, 2, 3}
C = {4, 5, 6}
print(A.isdisjoint(C)) # 출력: True
4. 집합 컴프리헨션
집합 컴프리헨션은 리스트 컴프리헨션과 유사한 문법으로 집합을 생성하는 방법입니다.
# 집합 컴프리헨션 예시
squares = {x**2 for x in range(10)}
print(squares) # 출력: {0, 1, 4, 9, 16, 25, 36, 49, 64, 81}
파이썬 집합에 대해 알아보았습니다. 파이썬에서 집합은 중복 없는 데이터를 저장하고, 다양한 수학적 집합 연산을 제공하는 매우 유용한 자료형입니다. 이를 이용하면 데이터를 더욱 효율적으로 관리할 수 있겠습니다.
'Python > 문법' 카테고리의 다른 글
[Python] 파이썬 for문 정리 및 예제 (0) | 2024.07.31 |
---|---|
[Python] 파이썬 IF문 개념 정리 및 예제 (0) | 2024.07.30 |
[Python] 파이썬 딕셔너리 자료형 다루기 (0) | 2024.07.28 |
[Python] 파이썬 튜플 자료형의 모든 것 (0) | 2024.07.27 |
[Python] 파이썬 리스트 자료형의 모든 것 (0) | 2024.07.26 |
댓글