도입
개요
- set을 활용한 방법과 리스트 내 for문 사용을 통한 방법 두 가지를 소개한다.
설명
순서를 유지하며 교집합 구하기
a = [10,5,3,53,2,6,32]
b = [6,3,2,32]
c = [x for x in a if x in b]
print(c)
순서 상관없이 교집합 구하기 : set
- 파이썬의 집합 자료형 set을 사용해 교집합을 구한다.
- set은 순서가 없어 뒤죽박죽으로 교집합이 생성된다.
- set은 중복을 허용하지 않기에 여러 개 중복되는 요소를 전부 교집합에 넣을 수는 없다.
- 아래 예시 코드들의 결과는 set의 형태로 반환된다.
1. set의 비교
a = [1, 3, 5, 7, 9]
b = [10, 5, 1, 2, 4]
c = set(a) & set(b)
# set으로 바꾼 리스트 a와 b를 비교한다.
print(c)
# 출력 결과 : {1, 5}
2. set의 함수 intersection()
a = [10,5,3,53,2,6,32]
b = [6,3,2,32]
c = set(a).intersection(b)
# a와 b의 교집합을 set으로 생성
print(c)
# 출력 결과 : {32, 2, 3, 6} ## 순서 무시
참고