set 이란?
set은 수학의 집합과 비슷한 형태로 데이터의 순서가 없어서
set에 입력되는 데이터의 순서는 실제로 set에 저장되는 데이터의 순서와 다르다.
어떤 데이터가 먼저 출력될지 알 수 없고 중복되는 데이터의 입력을 허용하지 않는다.
딕셔너리처럼 {}를 사용해서 데이터를 감싸주지만 key가 존재하지 않고 value만 존재한다
1. set의 생성
(1) 생성자의 인자로 리스트나 튜플을 받아 생성할 수 있다.
튜플 혹은 리스트를 set 으로 감싼다고 생각하면 된다.
(2) 중복되는 데이터는 자동 제거된다.
2. set 메서드
(1) add( ) - 추가
add() 메서드로 set에 단일 데이터를 추가한다
(2) update( ) - 추가
update( )메서드로 여러 데이터를 한 번에 추가할 수 있다.
추가 과정에서도 중복되는 데이터는 자동 삭제된다.
(3) [remove( ), discard( ), clear( )] - 삭제
remove( ), discard( )로 단일데이터 삭제
clear( )로 전체 삭제
단일 데이터를 제거하는 두 메서드는
같아보이지만 다른 점이 있다.
remove 메서드는 삭제하려는 값이
존재하지 않으면 오류를 내지만
discard 메서드는 삭제하려는 값이
없어도 오류가 나지 않는다
(4) copy - 복사
3. set 연산자
(1) 합집합
사용법 = setA.union(setB)
. union이 귀찮다면 논리 연산기호를 사용하자
합집합은 or 다 하나라도 True이면 True이다.
(2) 교집합
and 연산 기호를 쓰지 않는다면
s.intersection(s2)이다.
(3) 차집합
- 연산 기호를 쓰지 않는다면
s.difference(s2)이다.
(4) 대칭 차집합
(합집합-교집합)
^ 기호는 xor이다
두 값이 다를 경우만 참이다
합집합에서 값이 같은 교집합은
빠지게 된다.
^ 기호를 쓰지 않는다면
s.symmetric_difference(s2)이다
'Python > Python 문법' 카테고리의 다른 글
Python 조건문 [ if, elif, else ] [ 삼항 연산자 ] (0) | 2019.12.22 |
---|---|
Python 관계,논리 연산자 (0) | 2019.12.22 |
Python 딕셔너리 [ 생성 및 기초활용 ] (0) | 2019.12.22 |
Python 튜플Tuple [ 생성 및 특징 ] (0) | 2019.12.22 |
Python List 메서드 [ append, insert, len, sort, reverse, index, count, remove, p (0) | 2019.12.19 |