본문 바로가기
프로그래밍/파이썬

파이썬 set(집합)에서 사용 가능한 연산자, 메소드

by laoching 2022. 2. 25.
728x90
반응형

연산의 피연산자인 s2는 set(집합)이여아 한다.

하지만 메소드 인수 s2는 이터러블 객체여도 된다.

연산자 메소드 개요
x in s   x는 집합 s에 포함되는가?
x not in s   x는 집합 s에 포함되지 않는가?
s1 == s2   s1과 s2가 동일한가?
s1 != s2   s1과 s2는 같지 않은가?
  s.isdisjoint(s2) s1과 s2는 서로소인가?(공통 요소를 갖지 않는가?)
s1 <= s2 s.issubset(s2) s1은 s2의 부분집합인가?(sq의 모든 요소가 s2에 포함되는가?)
s1 <s2   s1은 s2의 진부분집합인가?(s1 <= s2 and s1 != s2)
s1 >= s2 s1.issuperset(s2) s1은 s2의 초집합인가?(s2의 모든 요소가 s1에 포함되는가?)
s1 > s2   s1은 s2의 진초집합인가?(s1 >= s2 and s1 != s2)
s1 | s2 s1.union(s2) s1과 s2의 합집합을 구한다.
s1 & s2 s1.intersection(s2) s1과 s2의 교집합을 구한다.
s1 - s2 s1.difference(s2) s1과 s2의 차집합을 구한다.
s1 ^ s2 s1.symmetrcie_difference(s2) s1과 s2의 대칭 차를 구한다.
  s.add(e) s에서 요소 e를 추가한다.
  s.discard(e) s에서 요소 e를 제거한다.
  s.remove(e) s에서 요소 e를 제거한다. e가 없으면 KeyError를 발생시킴
  s.pop() s에서 요소를 삭제하고 그 값을 리턴(삭제 요소 지정 불가)
  s.clear() s에서 모든 요소를 제거
s1 |= s2 s1.union_update(s2) s1에 s2를 추가한다.
s1 &= s2 s1.intersection_update(s2) s2에 포함되지 않는 요소를 s1에서 제거한다.
s1 -= s2 s1.differenece_update(s2) s2에 포함되어 있는 요소를 s1에서 제거한다.
s1 ^= s2 s1.symmetric_difference_update(s2) s2에 포함되어 있는 요소를 s1에서 제거한다.

 

서로소: s1과 s2에 공통의 요소가 없는 경우

 

부분집합: s1의 모든 요소가 s2에 포함되는 경우 (s1 <= s2)

 

진부분집합: s1의 모든 요소가 s2에 포함되나 s1과 s2는 같지 않은경우 (s1 < s2)

 

초집합: s2의 모든 요소가 s1에 포함되는지 (s1 >= s2)

 

진초집합: s2의 모든 요소가 s1에 포함되나 s1과 s2는 같지 않은경우 (s1 > s2)

 

대칭 차집합: s1과 s2의 한쪽에만 포함된 요소의 집합

728x90
반응형

댓글