[Python] 파이썬 두 리스트 같은 값 찾기
September 17, 2023
두개의 리스트가 있고, 각각 다양한 요소를 갖고 있을 때, 두 리스트가 공통으로 갖고 있는 값을 찾는 방법에 대해서 알아보겠습니다.
1. 반복문으로 공통 요소 찾기
for문을 사용하여 리스트를 순회하면서 다른 리스트에 그 값이 포함되어있는지 확인할 수 있습니다. 이렇게 확인하면서 공통 요소를 리스트에 저장하면 됩니다.
list1 = [1, 2, 3, 4, 5, 8, 9]
list2 = [3, 4, 6, 7]
common_values = []
for item in list1:
if item in list2:
common_values.append(item)
print("공통된 값:", common_values)
Output:
공통된 값: [3, 4]
2. 리스트 컴프리헨션으로 공통 요소 찾기
for문 대신에 리스트 컴프리헨션을 사용하면, 더 짧은 코드로 같은 내용을 구현할 수 있습니다. 사용하는 기술은 다르지만, 리스트를 순회하면서 다른 리스트에 공통 요소가 있는지 확인하는 알고리즘은 동일합니다.
list1 = [1, 2, 3, 4, 5, 8, 9]
list2 = [3, 4, 6, 7]
common_values = [item for item in list1 if item in list2]
print("공통된 값:", common_values)
Output:
공통된 값: [3, 4]
3. Set로 공통 요소 찾기
Set는 중복 값을 허용하지 않는 자료구조이며, intersection()
이라는 함수를 제공하여 쉽게 공통 요소를 찾을 수 있게 도와줍니다.
set1.intersection(set2)
는 set1과 set2의 공통 요소만 찾아서 새로운 set에 저장하여 리턴합니다.
아래 예제에서 common_values
는 공통 요소를 갖고 있는 set이며, list(common_values)
로 다시 리스트로 변환 할 수 있습니다.
list1 = [1, 2, 3, 4, 5, 8, 9]
list2 = [3, 4, 6, 7]
set1 = set(list1)
set2 = set(list2)
common_values = set1.intersection(set2)
print("공통된 값:", list(common_values))
Output:
공통된 값: [3, 4]