프로그래밍언어/파이썬[초급]

[파이썬][초급] Chapter12. 집합(Set) 자료형

about_IT 2025. 5. 15. 16:52
728x90

집합(Set)은 중복을 허용하지 않고, 순서가 없는 자료형입니다. 수학에서의 집합 개념과 매우 유사하며, 중복 제거와 교집합, 합집합, 차집합 등의 연산에 유용합니다. 이번 장에서는 파이썬의 집합 자료형에 대해 알아보고, 리스트와의 차이점도 살펴보겠습니다.

● 집합 생성 방법

집합은 중괄호 {} 또는 set() 함수를 이용해 생성합니다. 다만 빈 집합은 반드시 set()을 사용해야 합니다.

numbers = {1, 2, 3, 3, 4}
print(numbers)  # {1, 2, 3, 4} - 중복 제거됨

empty_set = set()
print(type(empty_set))  # <class 'set'>

● 집합 연산

집합은 다음과 같은 연산을 지원합니다.

  • 합집합 (| 또는 union())
  • 교집합 (& 또는 intersection())
  • 차집합 (- 또는 difference())
a = {1, 2, 3}
b = {3, 4, 5}

print(a | b)  # {1, 2, 3, 4, 5}
print(a & b)  # {3}
print(a - b)  # {1, 2}

● 요소 추가와 제거

집합은 요소를 추가하거나 제거할 수 있습니다. 단, 인덱스를 통한 접근은 불가능합니다.

s = {1, 2, 3}
s.add(4)
s.remove(2)
s.discard(5)   # 존재하지 않아도 오류 없음
s.clear()      # 모두 제거

● 집합의 특징

집합은 다음과 같은 특징을 가집니다:

  • 중복을 자동으로 제거합니다.
  • 순서가 없기 때문에 인덱싱 불가
  • 빠른 검색 속도

● 마무리

이번 장에서는 집합 자료형의 개념, 생성 방식, 주요 연산과 메서드들을 살펴보았습니다. 집합은 중복 제거나 두 데이터 집합 간의 연산이 필요할 때 매우 유용하게 사용됩니다. 다음 장에서는 자료형 간의 변환 방법을 알아보겠습니다.

728x90