[파이썬] 세트의 차집합과 차집합 갱신

세트(Set)는 중복되지 않는 항목들로 구성된 컬렉션이며, 수학적인 집합 연산을 지원합니다. 이 중에 우리는 “차집합” 연산을 할 수 있습니다. 차집합은 한 세트에서 다른 세트에 포함되지 않는 항목들의 집합을 의미합니다.

Python에는 set이라는 내장 자료형이 있어, 세트의 차집합을 손쉽게 계산할 수 있습니다. 추가로, 세트의 차집합을 갱신하는 방법도 알아보겠습니다.

세트의 차집합 구하기

두 개의 세트에서 첫 번째 세트에서만 존재하는 항목들의 집합을 구하려면, 다음과 같은 방법을 사용합니다.

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

diff = set1 - set2
print(diff)  # 출력: {1, 2, 3}

set1 - set2는 세트 set1에서 세트 set2에 포함되지 않는 항목들의 차집합을 계산합니다. 위의 예제에서는 1, 2, 3이 출력됩니다.

또한, difference() 메서드를 사용하여 차집합을 계산할 수도 있습니다.

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

diff = set1.difference(set2)
print(diff)  # 출력: {1, 2, 3}

세트의 차집합 갱신하기

만약 첫 번째 세트에서만 존재하는 항목들의 차집합을 구한 뒤, 이를 첫 번째 세트에 갱신하고 싶을 때는 difference_update() 메서드를 사용합니다.

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

set1.difference_update(set2)

print(set1)  # 출력: {1, 2, 3}

위의 예제에서는 set1에서 set2에 속하는 항목들을 제거한 뒤, set1{1, 2, 3}으로 갱신됩니다.

결론

Python의 세트를 사용하면 집합 연산 중 차집합을 손쉽게 계산할 수 있습니다. set1 - set2를 사용하거나 difference() 메서드를 사용하여 차집합을 구할 수 있습니다. 또한, 차집합을 갱신하기 위해서는 difference_update() 메서드를 사용하여 첫 번째 세트를 갱신할 수 있습니다. 세트의 차집합과 갱신을 활용하여 다양한 문제를 해결할 수 있습니다.