본문 바로가기
파이썬/파이썬 기초

[파이썬 Python] 고유한 값들의 집합 Set

by SMCon 2023. 8. 25.
728x90
반응형

파이썬의 set은 고유한 값들의 집합을 나타내는 자료형입니다. 집합은 중복된 값이 없으며, 순서가 없습니다. set을 사용하여 중복을 허용하지 않는 값을 관리하거나 집합 연산을 수행할 수 있습니다.

 

1. 집합 생성:

set을 사용하여 집합을 생성할 수 있습니다.

my_set = {1, 2, 3}

 

2. 중복 제거:

리스트의 중복된 값을 set을 이용하여 제거하고 유일한 값만 남길 수 있습니다.

my_list = [1, 2, 2, 3, 3, 4]
unique_values = set(my_list)  # {1, 2, 3, 4}

 

3. 집합 연산:

| 연산자로 합집합을, & 연산자로 교집합을, - 연산자로 차집합을 구할 수 있습니다.

set1 = {1, 2, 3}
set2 = {3, 4, 5}

union = set1 | set2        # 합집합: {1, 2, 3, 4, 5}
intersection = set1 & set2  # 교집합: {3}
difference = set1 - set2    # 차집합: {1, 2}

 

4. 원소 추가 및 삭제:

add() 메서드로 원소를 추가하고, remove() 메서드로 원소를 삭제할 수 있습니다.

my_set.add(5)     # 원소 추가
my_set.remove(2)  # 원소 삭제

 

5. 부분집합과 상위집합 확인:

issubset() 메서드로 부분집합 여부를 확인하고, issuperset() 메서드로 상위집합 여부를 확인할 수 있습니다.

set1 = {1, 2}
set2 = {1, 2, 3}
is_subset = set1.issubset(set2)  # set1은 set2의 부분집합인가? (True)
is_superset = set2.issuperset(set1)  # set2는 set1의 상위집합인가? (True)

 

6. 집합 변환:

리스트를 set으로 변환하여 중복을 제거한 후, 다시 리스트로 변환할 수 있습니다.

my_list = [1, 2, 3, 2, 3, 4]
my_set = set(my_list)  # 중복 제거된 집합으로 변환
unique_list = list(my_set)  # 다시 리스트로 변환

 

7. 불변한 집합(frozenset):

frozenset은 변경할 수 없는 집합을 나타내는 자료형입니다.

immutable_set = frozenset([1, 2, 3])

 

파이썬의 set을 사용하면 중복을 허용하지 않는 고유한 값의 집합을 관리하거나, 집합 연산을 통해 데이터를 처리할 수 있습니다. 위의 개념을 통해 set의 활용 방법을 이해할 수 있습니다.

 

728x90
반응형