[파이썬] 집합의 교집합 여부 확인

집합(Set)은 중복된 값이 없고 순서가 없는 데이터 컬렉션입니다. 교집합은 두 개 이상의 집합에서 공통으로 포함된 원소들로 이루어진 집합을 말합니다. Python에서는 집합의 교집합 여부를 확인하는 다양한 방법이 있습니다.

1. 중복 원소를 제거하고 집합 자료형을 이용한 방법

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

intersection = bool(set1.intersection(set2))
print(f"The intersection of set1 and set2 exists: {intersection}")

위의 예시 코드에서 set1set2는 각각 {1, 2, 3, 4, 5}{4, 5, 6, 7, 8}의 원소를 가지고 있습니다. intersection() 메소드를 사용하여 두 집합의 교집합을 구한 후 bool() 함수를 이용하여 결과값이 True인지 확인합니다.

2. ‘&’ 연산자를 이용한 방법

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

intersection = bool(set1 & set2)
print(f"The intersection of set1 and set2 exists: {intersection}")

위의 예시 코드에서 & 연산자를 사용하여 두 집합의 교집합을 구한 후 bool() 함수를 이용하여 결과값이 True인지 확인합니다.

3. 집합 원소를 이용한 방법

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

intersection = any(True for elem in set1 if elem in set2)
print(f"The intersection of set1 and set2 exists: {intersection}")

위의 예시 코드에서는 any() 함수와 for 루프를 이용하여 두 집합의 교집합을 확인합니다. any() 함수는 인자로 받은 반복 가능한 객체에 원소 중 하나만이라도 참이면 True를 반환합니다.

위의 방법들은 모두 두 개의 집합이 교집합을 가지고 있는지 확인하는 방법입니다. 결과값이 True이면 두 집합은 공통된 원소를 가지고 있습니다. 이러한 방법들을 사용하여 집합의 교집합 여부를 확인할 수 있습니다.