>  기사  >  백엔드 개발  >  한 목록의 항목이 다른 목록에 있는지 확인하는 더 효율적인 방법이 있습니까?

한 목록의 항목이 다른 목록에 있는지 확인하는 더 효율적인 방법이 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-21 07:58:09744검색

Is there a More Efficient Way to Check if Any Item From One List Exists in Another List?

목록 확인에 여러 항목 통합

첫 번째 질문은 주어진 목록에 항목이 있는지 확인하는 효율적인 방법을 찾는 것입니다. 다른 목록 내에서. 이 기사에서는 사용자 정의 함수를 사용하는 대신 이 시나리오를 해결하기 위한 대체 접근 방식을 탐색합니다.

접근 방법 1: List Comprehension

아래 예시와 같이 List Comprehension을 사용할 수 있습니다. 두 번째 목록에 존재하는 첫 번째 목록의 항목을 분리하려면:

L1 = [2, 3, 4]
L2 = [1, 2]
[i for i in L1 if i in L2]

이 접근 방식은 요소가 포함된 경우 부울 값이 True인 일치하는 항목 목록을 생성합니다. 주어진 예에서는 [2]를 반환합니다.

접근 방법 2: 교차점 설정

또는 보다 효율적인 목록 비교를 위해 집합을 사용할 수 있습니다. 각 목록을 집합으로 변환하면 다음과 같이 교집합을 찾을 수 있습니다.

S1 = set(L1)
S2 = set(L2)
S1.intersection(S2)

목록 이해와 유사하게 두 집합의 교집합에는 일치하는 요소만 포함됩니다. 빈 집합은 False로 평가되므로 교집합 결과를 그대로 진리값으로 활용할 수 있습니다.

논리적 평가 고려 사항

하나의 존재에 유의하는 것이 중요합니다. 일치하는 항목은 어느 접근 방식에서든 True를 반환하기에 충분합니다. 따라서 이 방법은 모든 항목이 있어야 하는 시나리오에는 적합하지 않을 수 있습니다.

위 내용은 한 목록의 항목이 다른 목록에 있는지 확인하는 더 효율적인 방법이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.