1. 집합 자료형
- 집합은 다음과 같은 특징이 있음
- 중복을 허용하지 않는다.
- 순서가 없다.
- 이러한 특징들 때문에 집합 자료형을 어떠한 데이터가 존재하는지 존재하지 않는지 여부를 체크하는데 효과적으로 사용됨
- 집합은 리스트 혹은 문자열을 이용해서 초기화할 수 있음
- 이때 set() 함수를 이용함
- 혹은 중괄호 ({ }) 안에 각 원소를 콤마 (,)를 기준으로 구분하여 삽입함으로써 초기화할 수 있음
- 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있음
# 집합 자료형 초기화 방법 1
data = set([1, 1, 2, 3, 4, 4, 5])
print(data)
# 집합 자료형 초기화 방법 2
data = {1, 1, 2, 3, 4, 4, 5}
print(data)
2. 집합 자료형의 연산
- 기본적인 집합 연산으로는 합집합, 교집합, 차집합 연산 등이 있음
- 합집합 : A∪B
- 교집합 : A∩B
- 차집합 : A-B
a = set([1, 2, 3, 4, 5])
b = set([3, 4, 5, 6, 7])
# 합집합
print(a | b)
# 교집합
print(a & b)
# 차집합
print(a - b)
3. 집합 자료형 관련 함수
data = set([1, 2, 3])
print(data)
# 새로운 원소 추가
data.add(4)
print(data)
# 새로운 원소 여러 개 추가
data.update([5, 6])
print(data)
# 특정한 값을 갖는 원소 삭제
data.remove(3)
print(data)
4. 사전 자료형과 집합 자료형의 특징
- 리스트나 튜플은 순서가 있기 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있음
- 사전 자료형과 집합 자료형은 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없음
- 사전의 키(Key) 혹은 원소 (Element)를 이용해 O(1)의 시간 복잡도로 조회함