python

두 리스트에서 중복 된 값 추출하기

fe_lee 2024. 10. 17. 03:21
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()**도 사용 가능하지만, 리스트 크기가 크면 비효율적일 수 있습니다.

 

 

'python' 카테고리의 다른 글

정규표현식 re  (1) 2024.10.17