수요일, 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)

댓글 없음: