Python의 목록에서 여러 값을 효율적으로 확인하는 방법: 전체 vs 세트?
Nov 02, 2024 am 04:44 AM목록의 멤버십에 대한 여러 값 테스트
여러 값이 목록에 속하는지 확인하려고 하면 예기치 않은 결과가 발생할 수 있습니다. 예를 들어 Python의 ',' 연산자를 사용하여 멤버십을 테스트하면 예기치 않은 튜플이 반환될 수 있습니다.
<code class="python">'a','b' in ['b', 'a', 'foo', 'bar'] ('a', True)</code>
Python의 "all" 함수
여러 값의 멤버십을 정확하게 테스트하려면 다음에서 Python의 all 함수를 활용하세요. 아래에 설명된 대로 목록 이해와 결합:
<code class="python">all(x in ['b', 'a', 'foo', 'bar'] for x in ['a', 'b']) True</code>
대안 접근법
세트
세트는 회원 테스트에도 사용될 수 있습니다. 그러나 제한이 있습니다. 예를 들어 목록과 같이 해시할 수 없는 요소는 처리할 수 없습니다.
<code class="python">{'a', 'b'} <= {'a', 'b', 'foo', 'bar'} True {'a', ['b']} <= {'a', ['b'], 'foo', 'bar'} Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'</code>
속도 비교
대부분의 경우 all 함수를 사용하는 하위 집합 테스트가 집합을 사용하는 것보다 빠릅니다. 그러나 목록이 크고 해시할 수 없는 요소가 많이 포함되어 있으면 이 이점이 줄어듭니다. 게다가 테스트 항목이 이미 세트에 저장되어 있는 경우 하위 세트 테스트를 사용하는 것이 훨씬 더 빠릅니다.
결론
목록에서 여러 값의 멤버십을 테스트할 때 목록이 포함된 all 함수는 이해하는 것이 권장되는 접근 방식입니다. 세트는 특정 상황에서 유용할 수 있지만 제한 사항을 고려해야 합니다. 가장 최적의 접근 방식은 테스트되는 특정 상황과 데이터에 따라 다릅니다.
위 내용은 Python의 목록에서 여러 값을 효율적으로 확인하는 방법: 전체 vs 세트?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?
