이 자습서에서는 Python 집합 교집합과 이를 사용하여 두 개 이상의 집합을 교차하는 방법에 대해 배웁니다.
Python에서는 집합 교차() 메서드 또는 집합 교차 연산자(&)를 사용하여 두 개 이상의 집합을 교차할 수 있습니다.
new_set = set1.intersection(set2, set3)
new_set = set1 & set2 & set3
Intersection() 메서드와 & 연산자는 성능이 동일합니다.
1. Python set intersection: set 교집합 소개
두 개 이상의 세트를 교차하면 모든 세트에 존재하는 요소로 구성된 새로운 세트를 얻게 됩니다.
다음 두 세트 s1과 s2가 있다고 가정합니다.
s1 = {'Python', 'Java','C++'}
s2 = {'C#', 'Java', 'C++' }
이 두 집합의 교집합은 'Java' 및 'C++' 두 요소를 포함하는 새 집합을 반환합니다.
s = {'Java', 'C++'}
... 두 세트 모두에 존재하는 유일한 요소이기 때문입니다.
다음 벤다이어그램은 두 집합 s1과 s2의 교집합을 보여줍니다.
세트 교차에는 많은 유용한 응용 프로그램이 있습니다. 예를 들어 교차 설정을 사용하여 소셜 네트워킹 애플리케이션에서 두 친구의 공통 즐겨찾기를 찾거나 HR 애플리케이션에서 둘 이상의 직원의 공통 기술을 검색할 수 있습니다.
Python에서는 set Intersection() 메서드 또는 집합 교차 연산자(&)를 사용하여 두 개 이상의 집합을 교차시킬 수 있습니다.
1) Python set Intersection() 메서드를 사용하여 두 개 이상의 집합을 교차
이 예제에서는 set Intersection() 메서드를 사용하여 두 개 이상의 집합을 교차하는 방법을 보여줍니다.
new_set = set1.intersection(set2, set3, ...)
다음은 s1 및 s2 집합을 교차하기 위해 Intersection() 메서드를 사용하는 방법을 보여줍니다.
s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
s = s1.intersection(s2)
print(s)
Output:
{'C++', 'Java'}
2) Python 집합 교차(&) 연산자를 사용하여 두 개 이상의 집합을 교차
Python은 두 개 이상의 집합을 교차시킬 수 있는 집합 교차 연산자(&)를 제공합니다.
new_set = s1 & s2 & s3 & ...
다음 예에서는 집합 교차 연산자(&)를 사용하여 집합 s1 및 s2를 교차합니다.
s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
s = s1 & s2
print(s)
Output:
new_set = s1 & s2 & s3 & ...
2. Intersection() 메서드 설정 vs Intersection 연산자 설정(&)
교차 집합 연산자는 집합만 허용하는 반면, 교차 집합() 메서드는 문자열, 목록 및 사전과 같은 모든 이터러블을 허용할 수 있습니다.
iterables를 Intersection() 메서드에 전달하면 교차하기 전에 iterables를 set으로 변환합니다.
그러나 교집합 연산자(&)를 iterables와 함께 사용하면 오류가 발생합니다.
다음 예제에서는 Intersection() 메서드를 사용하여 집합을 목록과 교차시킵니다.
numbers = {1, 2, 3}
scores = [2, 3, 4]
numbers = numbers.intersection(scores)
print(numbers)
Output:
{2, 3}
교집합 연산자(&)를 대신 사용하면 오류가 발생합니다.
numbers = {1, 2, 3}
scores = [2, 3, 4]
numbers = numbers & scores
print(numbers)
Output:
TypeError: unsupported operand type(s) for &: 'set' and 'list'
3. Summary
- 두 개 이상의 세트의 교집합은 모든 세트에 존재하는 요소를 반환합니다.
- Intersection() 메서드를 사용하거나 교집합 연산자(&)를 설정하여 두 개 이상의 집합을 교차합니다.
refreance: https://www.pythontutorial.net/python-basics/python-set-intersection/
'Programing > Python' 카테고리의 다른 글
Python Set Difference: set 차집합 사용하기 (0) | 2023.03.14 |
---|---|
Python 라이브러리, yfinance 란? (0) | 2023.03.13 |
파이썬 명명규칙은 어떻게 되나요? (0) | 2023.03.13 |
Python Set Union: Set 합집합 사용하기 (0) | 2023.03.13 |
Python Set Comprehension 사용하기 (0) | 2023.03.13 |
댓글