집합에서 대칭차(symmetric difference) 메소드를 이용해 대칭차 구하는 법을 알아보겠습니다. 대칭차는 둘 중 하나의 집합에는 속하지만 교집합에는 속하지 않는 원소들의 집합입니다. xor 연산과 비슷합니다
A = {1, 2, 3, 4}
B = {3, 4, 5}
C = set()
print(A.symmetric_difference(B)) # set([1, 2, 5])
print(A.symmetric_difference(C)) # set([1, 2, 3, 4])
print(A ^ B) # 동일
print(A ^ C)
print(A ^ A) # set([])
setA.symmetric_difference(setB) 이런식으로 사용할 수 있습니다. ^ operator로도 동일하게 사용할 수 있습니다.
주의할 점은 두 집합 사이의 대칭차만 구할 수 있다는 점입니다.
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Django] "value too long for type character varying" (0) | 2021.01.05 |
---|---|
[Django] circular import 해결방법 (0) | 2021.01.05 |
[Python] 반복문 Cheatsheet (0) | 2020.10.31 |
[Python] 비교 연산자 체이닝(Comparison operator chaining) (0) | 2020.10.31 |
[Python] str strip, lstrip, rstrip (0) | 2020.10.31 |