Heim >Backend-Entwicklung >Python-Tutorial >Wie findet man effizient das erste passende Element in einer Python-Liste?

Wie findet man effizient das erste passende Element in einer Python-Liste?

DDD
DDDOriginal
2024-12-07 19:26:20238Durchsuche

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

Das erste Element aus einer Liste abrufen, das einer Bedingung entspricht, ohne die gesamte Liste zu verarbeiten

Das erste Element, das eine bestimmte Bedingung erfüllt, aus einer potenziell umfangreichen Liste abzurufen, ist eine häufige Vorgehensweise Aufgabe. Während benutzerdefinierte Funktionen wie Ihre diesen Zweck erfüllen können, gibt es möglicherweise effizientere Alternativen, die in Python integriert sind.

Python 2.6 und Python 3:

Für diese Versionen sollten Sie als nächstes eine integrierte Funktion in Betracht ziehen Daraus ergeben sich die folgenden zwei Ansätze:

  1. Raising StopIteration:

    next(x for x in the_iterable if x > 3)
  2. Rückgabe eines Standardwerts (z. B. Keine):

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

Python <= 2.5:

Hinweis: Die folgenden Lösungen sind weniger effizient als die für Python 2.6, da sie die gesamte Liste verarbeiten.

  1. nächste Methode:

    .next()

    Wenn kein Element die Bedingung erfüllt, wird StopIteration sofort ausgelöst.

  2. Benutzerdefinierte Funktion (gemäß Ihrer ursprünglichen Vorschlag):

    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>for-Schleife mit Pause:</p>
    <pre class="brush:php;toolbar:false">for item in the_iterable:
        if condition(item):
            break
    first_item = item
  4. Versuchen/Außer StopIteration:

    try:
        first_item = next(x for x in the_iterable if condition(x))
    except StopIteration:
        return None
  5. Das obige ist der detaillierte Inhalt vonWie findet man effizient das erste passende Element in einer Python-Liste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn