list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
1. set
두 리스트를 집합으로 변환한 후 교집합(intersection)을 구하면 공통된 요소들을 추출할 수 있습니다.
# 집합으로 변환 후 교집합 구하기
common_elements = set(list1) & set(list2)
# 또는 set(list1).intersection(set(list2))
print(common_elements) # 출력: {4, 5}
2. List Comprehension
# 리스트 내포를 사용해 공통된 요소 찾기
common_elements = [x for x in list1 if x in list2]
print(common_elements) # 출력: [4, 5]
3. filter() 함수와 lambda 사용
filter() 함수와 lambda 함수를 함께 사용하여 공통된 요소를 필터링할 수도 있습니다.
# filter와 lambda를 사용해 공통 요소 추출
common_elements = list(filter(lambda x: x in list2, list1))
print(common_elements) # 출력: [4, 5]
- 집합(set)을 이용한 교집합이 가장 간편하고 빠른 방법입니다.
- 리스트 내포나 **filter()**도 사용 가능하지만, 리스트 크기가 크면 비효율적일 수 있습니다.