잠재적으로 확장 가능한 목록에서 특정 조건을 충족하는 첫 번째 요소를 가져오는 것이 일반적입니다. 일. 귀하와 같은 사용자 정의 함수가 이 목적을 달성할 수 있지만 Python에 내장된 보다 효율적인 대안이 있을 수 있습니다.
이러한 버전의 경우 다음으로 내장 함수를 고려하세요. 이는 다음 두 가지 접근 방식을 제공합니다.
모으기 StopIteration:
next(x for x in the_iterable if x > 3)
기본값 반환(예: None):
next((x for x in the_iterable if x > 3), default_value)
참고: 아래 솔루션은 전체 목록을 처리하므로 Python 2.6의 솔루션보다 효율성이 떨어집니다.
다음 방법:
.next()
조건을 충족하는 요소가 없으면 StopIteration 즉시 발생합니다.
맞춤 기능(초기값에 따름) 제안):
def first(the_iterable, condition = lambda x: True): for i in the_iterable: if condition(i): return i
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
시도/제외 반복 중지:
try: first_item = next(x for x in the_iterable if condition(x)) except StopIteration: return None
위 내용은 Python 목록에서 첫 번째로 일치하는 항목을 효율적으로 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!