레이블이 set인 게시물을 표시합니다. 모든 게시물 표시
레이블이 set인 게시물을 표시합니다. 모든 게시물 표시

수요일, 3월 21, 2012

Python에서 집합 연산


파이썬에서 집한연산을 하는 경우가 생기게된다.
이럴때 쓰라고 있는 set 
집합형으로 바꾸는 방법은 걍 set()을 묶어주면 Ok.

list > set
리스트의 원소 중 중복되는 원소는 제거하고 집합형으로 변환
string > set
문자열도 한단어씩 split후 중복되는 단어 제거하고 집합형으로 변환


교집합
setA.intersection(setB)

set.intersection(setA,setB,setC)


합집합
setA.union(setB)
set.union(setA,setB,setC)

차집합
setA.difference(setB)
set.difference(setA,setB,setC)
해석: setA.difference(setB.union(setC))

대칭차집합 (두 set에 대해서만 계산 가능)
setA.symmetric_difference(setB)
set.symmetric_difference(setA,setB)
setA = set([1,2,3,4,5,6])
setB = set([1,2,3])

부분집합(subset)
옳은예: setB.issubset(setA) ( = set.issubset(setB,setA)
틀린예: setA.issubset(setB) ( = set.issubset(setA,setB)
앞쪽 집합이 뒤쪽에 나오는 집합의 부분집합이냐고 확인

초집합(superset)
부분집합과 반대로 생각하면됨
옳은예: setA.issubset(setB) ( = set.issubset(setA,setB)
틀린예: setB.issubset(setA) ( = set.issubset(setB,setA)