>백엔드 개발 >파이썬 튜토리얼 >Python 목록에서 첫 번째로 일치하는 항목을 효율적으로 찾는 방법은 무엇입니까?

Python 목록에서 첫 번째로 일치하는 항목을 효율적으로 찾는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-07 19:26:20234검색

How to Efficiently Find the First Matching Item in a Python List?

전체 목록을 처리하지 않고 조건과 일치하는 목록에서 첫 번째 항목 가져오기

잠재적으로 확장 가능한 목록에서 특정 조건을 충족하는 첫 번째 요소를 가져오는 것이 일반적입니다. 일. 귀하와 같은 사용자 정의 함수가 이 목적을 달성할 수 있지만 Python에 내장된 보다 효율적인 대안이 있을 수 있습니다.

Python 2.6 및 Python 3:

이러한 버전의 경우 다음으로 내장 함수를 고려하세요. 이는 다음 두 가지 접근 방식을 제공합니다.

  1. 모으기 StopIteration:

    next(x for x in the_iterable if x > 3)
  2. 기본값 반환(예: None):

    next((x for x in the_iterable if x > 3), default_value)

Python <= 2.5:

참고: 아래 솔루션은 전체 목록을 처리하므로 Python 2.6의 솔루션보다 효율성이 떨어집니다.

  1. 다음 방법:

    .next()

    조건을 충족하는 요소가 없으면 StopIteration 즉시 발생합니다.

  2. 맞춤 기능(초기값에 따름) 제안):

    def first(the_iterable, condition = lambda x: True):
        for i in the_iterable:
            if condition(i):
                return i
  3. itertools:

    from itertools import ifilter, islice
    first_item = next(ifilter(lambda x: x > 3, the_iterable))</h3>
    <li>
    <p>break가 있는 for 루프:</p>
    <pre class="brush:php;toolbar:false">for item in the_iterable:
        if condition(item):
            break
    first_item = item
  4. 시도/제외 반복 중지:

    try:
        first_item = next(x for x in the_iterable if condition(x))
    except StopIteration:
        return None
  5. 위 내용은 Python 목록에서 첫 번째로 일치하는 항목을 효율적으로 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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