반응형
Python의 set(집합)은 고유한 값을 저장하고, 중복을 허용하지 않는 자료형입니다. 수학에서의 집합과 비슷한 연산을 제공하며, 추가, 삭제, 합집합, 교집합 등의 다양한 연산을 지원합니다. 주요 특징과 기능은 다음과 같습니다.
> 리스트 list - https://coding-abc.kr/325
> 튜플 tuple - https://coding-abc.kr/326
> 딕셔너리 dictionary - https://coding-abc.kr/327
>> 집합 set
1. 집합 생성
- set() 함수를 사용하여 생성하거나 {} 중괄호를 이용해 생성할 수 있습니다.
- 빈 집합을 생성할 때는 set()을 사용해야 합니다. {}는 빈 딕셔너리로 인식됩니다.
# 집합 생성 예시
my_set = {1, 2, 3}
empty_set = set()
2. 집합의 주요 특징
- 중복 없음: 동일한 값이 여러 번 포함될 수 없습니다.
- 순서 없음: 인덱스로 접근할 수 없으며, 순서가 보장되지 않습니다.
- 가변성: 추가 및 삭제가 가능하지만 집합 내에 변경 불가능한(immutable) 객체만 포함될 수 있습니다.
3. 집합 연산
- 추가하기: add() 메서드를 사용하여 원소를 추가합니다.
- 삭제하기: remove() 또는 discard() 메서드를 사용하여 원소를 제거할 수 있습니다.
- remove()는 없는 원소를 삭제할 때 오류를 발생시키지만, discard()는 오류를 발생시키지 않습니다.
# 원소 추가 및 삭제
my_set.add(4) # {1, 2, 3, 4}
my_set.remove(2) # {1, 3, 4}
my_set.discard(5) # 오류 없이 진행됨
4. 집합 연산자
- 합집합: | 또는 union() 메서드 사용
- 교집합: & 또는 intersection() 메서드 사용
- 차집합: - 또는 difference() 메서드 사용
- 대칭차집합: ^ 또는 symmetric_difference() 메서드 사용
# 예시
set_a = {1, 2, 3}
set_b = {2, 3, 4}
# 합집합
union_set = set_a | set_b # {1, 2, 3, 4}
# 교집합
intersection_set = set_a & set_b # {2, 3}
# 차집합
difference_set = set_a - set_b # {1}
# 대칭차집합
symmetric_diff = set_a ^ set_b # {1, 4}
5. 기타 메서드
- 부분집합 확인: issubset() - 다른 집합의 부분집합인지 확인
- 상위집합 확인: issuperset() - 다른 집합의 상위집합인지 확인
- 공집합 확인: isdisjoint() - 두 집합이 공통 원소가 없는지 확인
# 예시
set_a = {1, 2}
set_b = {1, 2, 3}
print(set_a.issubset(set_b)) # True
print(set_b.issuperset(set_a)) # True
print(set_a.isdisjoint(set_b)) # False
이처럼 Python의 집합은 데이터의 중복을 허용하지 않고, 다양한 집합 연산을 효율적으로 수행할 수 있는 자료형입니다.
반응형
'Python > 파이썬 기초 강의(2024)★' 카테고리의 다른 글
파이썬: 문자열 슬라이싱과 추출 (0) | 2024.11.11 |
---|---|
파이썬의 문자열은 불변 객체(immutable object)입니다 (1) | 2024.11.10 |
파이썬: 딕셔너리 자료형 개요 Dictionary data type (0) | 2024.10.28 |
파이썬: 튜플 자료형 정리 Tuple data type (0) | 2024.10.27 |
파이썬: 리스트 자료형 list (0) | 2024.10.26 |