Python

파이썬 set 집합 사용법 정리 (합집합, 차집합, 교집합, 대칭차)

메이커JK 2017. 2. 16. 11:27
반응형

파이썬(Python) set 집합 사용법을 정리합니다. 수학에서 말하는 집합처럼 사용되는 자료형입니다.


파이썬 집합(set, 셋) 사용법

파이썬에서 집합은 {} 기호(괄호)를 사용

type() 함수를 사용해 데이터 타입을 확인

len() 함수로 집합에 들어있는 값(원소)의 개수를 확인

특정 값(원소)이 집합 내에 있는지 확인하기 위해 in을 사용

-, &, | 기호를 사용하여 차집합, 교집합, 합집합을 구할 수 있다.

집합이 같은지는 == 기호(연산자)를 사용하여 평가한다.

(집합은 순서와 상관없이 들어있는 값만 확인)


파이썬 집합 add, remove, discard, pop, clear, copy 함수 (삽입, 삭제)

add(값) - 집합에 새로운 값을 추가한다. (중복된 값은 무시)

remove(값) - 전달받은 값을 삭제 (없을 때 에러 메시지를 출력)

discard(값) - 전달받은 값을 삭제 (없을 때 그냥 무시)

pop() - 임의의 값을 리턴하고 삭제

clear() - 집한에 있는 모든 값을 삭제

copy() - 집합을 복제하여 리턴


파이썬 집합 isdisjoint, issubset, issuperset 함수

is로 시작하는 함수는 True 또는 False를 리턴한다. (bool 값)

isdisjoint() - 두 집합이 공통 원소를 갖지 않는가?

issubset() - 부분집합(subset)인가?

issuperset() - 확대집합(superset)인가?


파이썬 집합 union, update, difference, intersection, symmetric_difference 합수

union() - 합집합을 만들어 리턴

update() - 합집합을 만들어 원본 데이터를 갱신(수정)

difference() - 차집합을 만들어 리턴

difference_update() - 차집합을 만들어 원본 데이터를 갱신

(그냥 함수는 값을 리턴하는 반면 뒤에 update가 붙은 함수는 원본 데이터를 변경함)

intersection() - 교집합을 만들어 리턴 

intersection_update() - 교집합을 만들어 원본 데이터를 갱신

symmetric_difference() - 대칭차를 만들어 리턴

symmetric_difference_update() - 대칭차를 만들어 원본 데이터를 갱신


대칭차란?

둘 중 한 집합에는 속하지만 둘 모두에는 속하지는 않는 원소들의 집합이다.

(이해하는데 말보다 아래 링크 그림이 편함)

https://ko.wikipedia.org/wiki/%EB%8C%80%EC%B9%AD%EC%B0%A8



반응형