티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

How can I compare two lists in python and return matches

파이썬에서 두 개의 리스트를 비교하고 일치하는 값을 반환하는 방법은 무엇인가요?

 문제 내용 

I want to take two lists and find the values that appear in both.

두 개의 리스트를 가져와 두 리스트에서 모두 나타나는 값을 찾고 싶습니다.
a = [1, 2, 3, 4, 5]
b = [9, 8, 7, 6, 5]

returnMatches(a, b)

 

would return [5], for instance.

예를 들어, [5]를 반환할 것입니다.

 

 

 

 높은 점수를 받은 Solution 

Not the most efficient one, but by far the most obvious way to do it is:

가장 효율적인 방법은 아니지만, 가장 직관적인 방법은 다음과 같습니다:
>>> a = [1, 2, 3, 4, 5]
>>> b = [9, 8, 7, 6, 5]
>>> set(a) & set(b)
{5}

 

if order is significant you can do it with list comprehensions like this:

만약 순서가 중요한 경우, 다음과 같이 리스트 내포를 사용하여 할 수 있습니다
>>> [i for i, j in zip(a, b) if i == j]
[5]

 

(only works for equal-sized lists, which order-significance implies).

(순서가 중요하다는 것은 크기가 같은 리스트에 대해서만 작동합니다.)

 

 

 

 가장 최근 달린 Solution 

One more way to find common values:

공통 값을 찾는 또 다른 방법:
a = [1, 2, 3, 4, 5]
b = [9, 8, 7, 6, 5]
matches = [i for i in a if i in b]

 

 

출처 : https://stackoverflow.com/questions/1388818/how-can-i-compare-two-lists-in-python-and-return-matches

반응형
댓글
공지사항
최근에 올라온 글