[파이썬] 세트의 부분집합과 상위집합

세트(Set)은 파이썬에서 매우 유용한 데이터 구조입니다. 세트는 중복된 값을 허용하지 않으며, 순서가 없는 항목들의 집합입니다. 세트에는 부분집합과 상위집합 관계를 확인하는 기능이 내장되어 있습니다.

부분집합 확인하기

세트 A가 세트 B의 부분집합이란, A의 모든 요소가 B에도 존재하는 것을 의미합니다. 파이썬에서는 issubset() 메서드를 사용하여 부분집합 여부를 확인할 수 있습니다.

A = {1, 2, 3}
B = {1, 2, 3, 4, 5}

print(A.issubset(B))  # True

위의 코드에서는 A가 B의 부분집합인지 확인하고 있습니다. issubset() 메서드는 True나 False 값을 반환하는데, 이 경우에는 A가 B의 부분집합이므로 True가 출력됩니다.

상위집합 확인하기

세트 A가 세트 B의 상위집합이란, A가 B의 모든 요소를 포함하는 것을 의미합니다. 파이썬에서는 issuperset() 메서드를 사용하여 상위집합 여부를 확인할 수 있습니다.

A = {1, 2, 3, 4, 5}
B = {1, 2, 3}

print(A.issuperset(B))  # True

위의 코드에서는 A가 B의 상위집합인지 확인하고 있습니다. issuperset() 메서드도 True나 False 값을 반환하는데, 이 경우에는 A가 B의 상위집합이므로 True가 출력됩니다.

부분집합과 상위집합의 관계

부분집합과 상위집합은 서로 반대되는 관계입니다. 즉, 만약 A가 B의 부분집합이라면 B는 A의 상위집합입니다. 따라서 아래와 같이 부분집합과 상위집합을 함께 확인할 수 있습니다.

A = {1, 2, 3}
B = {1, 2, 3, 4, 5}

print(A.issubset(B))     # True
print(B.issuperset(A))   # True

위의 코드에서는 A가 B의 부분집합인지 확인하고 있으며, B가 A의 상위집합인지도 확인하고 있습니다. 양쪽 모두 True가 출력되므로 A와 B는 부분집합이자 상위집합입니다.

세트를 사용하면 부분집합과 상위집합 여부를 간단하게 확인할 수 있습니다. 이를 활용하여 원하는 집합 관계를 효율적으로 파악할 수 있습니다.