[파이썬] 세트 (set) 데이터 타입
Python에서 세트 (Set) 데이터 타입은 순서가 없고, 중복이 없는 데이터를 다루기 위해 사용됩니다. 이는 리스트와 달리, 인덱스를 사용하여 접근할 수 없고, 중복을 허용하지 않습니다.
세트 (Set) 데이터 타입의 구성
세트 (Set) 데이터 타입은 다음과 같은 데이터로 구성됩니다.
- 숫자
- 문자열
- 불리언 값
- 튜플
- 리스트
세트 (Set) 데이터 타입의 생성
세트 (Set) 데이터 타입은 다음과 같이 생성할 수 있습니다.
# 빈 세트 생성
empty_set = set()
# 숫자로 이루어진 세트 생성
number_set = {1, 2, 3, 4, 5}
# 문자열로 이루어진 세트 생성
string_set = {'a', 'b', 'c', 'd', 'e'}
# 불리언 값으로 이루어진 세트 생성
boolean_set = {True, False}
# 튜플로 이루어진 세트 생성
tuple_set = {(1, 2), (3, 4), (5, 6)}
# 리스트로 이루어진 세트 생성
list_set = {[1, 2], [3, 4], [5, 6]}
세트 (Set) 데이터 타입의 연산
세트 (Set) 데이터 타입은 다음과 같은 연산을 수행할 수 있습니다.
- 합집합 (Union)
- 교집합 (Intersection)
- 차집합 (Difference)
- 대칭차집합 (Symmetric Difference)
# 합집합 (Union)
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 합집합 연산
union_set = set1 | set2
print(union_set) # {1, 2, 3, 4, 5, 6, 7, 8}
# 교집합 (Intersection)
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 교집합 연산
intersection_set = set1 & set2
print(intersection_set) # {4, 5}
# 차집합 (Difference)
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 차집합 연산
difference_set = set1 - set2
print(difference_set) # {1, 2, 3}
# 대칭차집합 (Symmetric Difference)
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 대칭차집합 연산
symmetric_difference_set = set1 ^ set2
print(symmetric_difference_set) # {1, 2, 3, 6, 7, 8}
세트 (Set) 데이터 타입의 사용
세트 (Set) 데이터 타입은 다음과 같이 사용할 수 있습니다.
- 중복된 데이터를 제거하기 위해 사용합니다.
- 리스트나 딕셔너리 등의 데이터 타입에서 중복된 데이터를 제거하기 위해 사용합니다.
# 리스트에서 중복된 데이터 제거
list_data = [1, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8]
# 중복된 데이터 제거
set_data = set(list_data)
print(set_data) # {1, 2, 3, 4, 5, 6, 7, 8}
결론
세트 (Set) 데이터 타입은 순서가 없고, 중복이 없는 데이터를 다루기 위해 사용됩니다. 이는 리스트와 달리, 인덱스를 사용하여 접근할 수 없고, 중복을 허용하지 않습니다. 세트 (Set) 데이터 타입은 합집합, 교집합, 차집합, 대칭차집합 등의 연