두개의 리스트가 있고, 각각 다양한 요소를 갖고 있을 때, 두 리스트가 공통으로 갖고 있는 값을 찾는 방법에 대해서 알아보겠습니다.

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]