파이썬 집합 자료형
파이썬에서 집합(Set)은 고유한 값들의 모음을 나타내는 비순서 자료형입니다. 집합은 중괄호 {}
를 사용하여 정의하며, 각 요소는 중복되지 않습니다. 예를 들면:
my_set = {1, 2, 3, 4, 5}
집합의 특징
1. 중복을 허용하지 않음
집합은 중복된 값을 허용하지 않기 때문에, 동일한 값이 여러 번 추가되더라도 하나의 값만 저장됩니다.
my_set = {1, 2, 2, 3, 4}
print(my_set) # {1, 2, 3, 4}
2. 순서가 없음
집합은 순서가 없는 자료형이므로 인덱싱이나 슬라이싱을 지원하지 않습니다. 집합의 요소에 접근하려면 반복문을 사용해야 합니다.
my_set = {"apple", "banana", "cherry"}
for item in my_set:
print(item)
3. 집합에 요소 추가 및 삭제
집합은 가변적이므로, 요소를 추가하거나 삭제할 수 있습니다. add()
메서드를 사용하여 요소를 추가하고, remove()
또는 discard()
메서드를 사용하여 요소를 삭제할 수 있습니다.
my_set = {1, 2, 3}
my_set.add(4) # {1, 2, 3, 4}
my_set.remove(2) # {1, 3, 4}
my_set.discard(5) # {1, 3, 4} (없는 요소 삭제 시 오류 없음)
print(my_set)
4. 집합 연산
집합은 합집합, 교집합, 차집합 등의 다양한 집합 연산을 지원합니다. 이러한 연산은 |
, &
, -
연산자 또는 메서드를 사용하여 수행할 수 있습니다.
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# 합집합
union_set = set1 | set2
print(union_set) # {1, 2, 3, 4, 5, 6}
# 교집합
intersection_set = set1 & set2
print(intersection_set) # {3, 4}
# 차집합
difference_set = set1 - set2
print(difference_set) # {1, 2}
5. 집합 메서드
집합은 다양한 메서드를 제공하여 요소를 쉽게 조작할 수 있습니다:
set.add(x)
: 집합에 요소를 추가합니다.set.remove(x)
: 집합에서 특정 요소를 제거하며, 요소가 없으면 오류가 발생합니다.set.discard(x)
: 집합에서 특정 요소를 제거하며, 요소가 없어도 오류가 발생하지 않습니다.set.union(other_set)
: 두 집합의 합집합을 반환합니다.set.intersection(other_set)
: 두 집합의 교집합을 반환합니다.set.difference(other_set)
: 두 집합의 차집합을 반환합니다.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set1.add(6)
print(set1) # {1, 2, 3, 6}
set1.discard(2)
print(set1) # {1, 3, 6}
union = set1.union(set2)
print(union) # {1, 3, 4, 5, 6}
intersection = set1.intersection(set2)
print(intersection) # {3}
6. 집합의 활용
집합은 중복된 값을 제거하거나, 여러 집합 간의 연산을 통해 공통 요소를 찾는 등 다양한 상황에서 유용하게 활용됩니다. 예를 들어, 리스트에서 중복된 요소를 제거하려면 집합으로 변환할 수 있습니다.
my_list = [1, 2, 2, 3, 4, 4, 5]
my_set = set(my_list)
print(my_set) # {1, 2, 3, 4, 5}
요약
- 집합은 고유한 값들의 모음을 나타내며, 중복된 값을 허용하지 않습니다.
- 집합은 순서가 없으므로 인덱싱이나 슬라이싱을 지원하지 않습니다.
add()
,remove()
,discard()
와 같은 메서드를 사용하여 집합의 요소를 조작할 수 있습니다.- 집합은 합집합, 교집합, 차집합 등의 연산을 지원하며, 이를 통해 데이터의 관계를 쉽게 분석할 수 있습니다.
- 집합을 활용하여 중복된 값을 제거하거나 공통 요소를 찾는 등 다양한 작업을 수행할 수 있습니다.
집합은 파이썬에서 매우 유용한 자료형 중 하나로, 특히 중복된 데이터를 처리하거나 집합 연산을 수행하는 데 적합합니다. 집합의 다양한 기능을 활용하여 데이터를 효율적으로 관리해 보세요!