[파이썬] 세트 (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)
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) 데이터 타입은 합집합, 교집합, 차집합, 대칭차집합 등의 연