python) 세트

나 안해·2023년 2월 28일
0

Python

목록 보기
2/6
post-thumbnail

1. 세트

  • 집합의 연산에 적합하다
  • 값이 중복될 수 없다
  • 인덱스 번호가 없어서 매번 순서가 바뀐다

1.1 세트의 특정값 확인

메소드기능
'값 이름' (not) in 세트명세트 내부의 특정 값 확인
set()빈 세트
set('객체')객체가 가진 문자들을 세트로('apple'면 'a', 'p', 'l', 'e')
set(range(n))0~n까지의 수를 세트로
frozenset()변경할 수 없는 세트
  • 세트는 튜플, 리스트, 딕셔너리와 달리 세트 내부에 세트를 만들 수 없다
  • 하지만 frozenset을 사용하면 내부에 넣을 수 있다

2. 집합연산

메소드 / 연산자기능
set.union(set1, set2)합집합
set1 & set2교집합
set.intersection(set1, set2)교집합
set1 - set2차집합
set.difference(set1, set2)차집합
set1 ^ set2대칭차집합
set.symmetric_difference(set1, set2)대칭차집합

2.1 집합 후 할당 연산자 사용

메소드 / 연산자기능
set1.update(set2)현재 세트에 다른 세트를 더한다
set1 &= set2두 세트가 서로 겹치는 요소만 세트1에 저장
set.intersection_update(set2)두 세트가 서로 겹치는 요소만 세트1에 저장
set1 -= set2현재 세트에서 다른 세트를 제외
set.difference_update({set2})현재 세트에서 다른 세트를 제외
set1 ^= set2두 세트의 겹치지 않는 요소만 세트 1에 저장
set.symmetric_difference_update(set2)두 세트의 겹치지 않는 요소만 세트 1에 저장

2.2 부분 집합과 상위 집합 확인

메소드 / 연산자기능
set1(현재 세트) <= set2(다른세트)현재세트가 다른 세트의 부분집합인지 확인
set1.issubset(set2)현재세트가 다른 세트의 부분집합인지 확인
set1 < set2현재세트가 다른 세트의 진부분집합인지 확인
set1 >= set2현재세트가 다른 세트의 상위집합인지 확인
set1.issuperset(set2)현재세트가 다른 세트의 상위집합인지 확인
set1 > set2현재세트가 다른 세트의 진상위집합인지 확인

2.3 세트가 겹치는지 확인

메소드기능
set.isdisjoint(set2)세트가 겹치면 True, 아니면 False
  • set.union() 대신 set1 | set2로도 같은 결과가 나온다
  • set1.update(set2) 대신 set1 |= set2도 가능

3. 세트 조작

메소드기능
set.add()요소 추가
set.remove()특정요소를 삭제(없으면 에러)
set.discard()특정 요소를 삭제(없으면 넘어감)
set.pop()임의의 요쇼를 삭제하고 해당 요소를 반환(없으면 에러)
set.clear()모든 요소를 제거
len(set)세트의 요소 길이

참고

0개의 댓글