Set   집합

(2025-05-21)

1. 파이썬집합 (Set)

  ㅇ 例) s = {1,2,3}  또는  s = set([1,2,3])

  ㅇ 순서가 없으나, 중복을 허용 않는 값들의 모음(컬렉션)

  ㅇ [참고] ☞ 자바스크립트Set 객체 참조


2. 특징Mutable 객체 (가변 객체) 임
     - 단, 그 내부 원소는 mutable한 값은 가질수 없음

  ㅇ 인덱싱, 슬라이싱 연산 불가능
     - 순서있는 시퀸스 타입인 리스트,튜플,딕셔너리와는 달리, 
     - 특정 원소 참조를 위한, 인덱싱 [] 제공 안함
        . (인덱싱 연산 이란?  [0],[1],... 등 인덱스에 의해 개별 원소를 참조하는 것)
     - 범위 원소 참조를 위한, 슬라이싱 [:] 제공 안함
        . 슬라이싱 연산 : [ : ] (시작,끝을 정하여 범위 참조)

  ㅇ 중복 허용 안함

  ㅇ 해시 테이블을 사용하여 구현됨
     - 따라서, 시간 복잡도 O(1) 로써, 개별 원소에 빠른 엑세스 가능


3. 연산, 메소드멤버쉽 연산자 (in, not in) : 특정 원소 유무 확인
     - 例) s = {1,2,3}; 2 in s => True, 5 in s => False, 5 not in s => True

  ㅇ 크기 (Cardinality : 원소 개수) : len({'a','b','c'}) => 3

  ㅇ 합산 (Summation) : sum({1,2,3}) => 6, sum({1,2,3},4) => 10

  ㅇ 제공 메서드
     - 리스트와 거의 유사하나, 
        . 원소 추가 : s = {1,2}; s.add(3) => {1,2,3} 
        . 원소 삭제 : s = {1,2,3}; s.remove(2) => {1,3} 
        . 원소 갱신 : s = {1,3}; s.update({3,5}) => {1,3,5}

     - 이외에도, 교집합 intersect(),합집합 union(), 차집합 difference() 등이 추가됨
        . 例) a, b = {1,2,3}, {2,3,4}
        . 합집합  :  a | b 또는 a.union(b)  =>  {1,2,3,4}
        . 교집합  :  a & b 또는 a.intersection(b)  =>  {2,3}
        . 차집합  :  a - b 또는 a.difference(b)  =>  {1}
        . 대칭 차집합  :  a ^ b 또는 a.symmetric_difference(b)  =>  {1,4}
           .. 양쪽에만 있는 요소 (공통 요소 제외)

파이썬 자료형
1. 파이썬 자료형   2. 변환 처리   3. 숫자형   4. 문자열   5. 리스트   6. 사전   7. 집합   8. 튜플  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]