Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man in Python effizient prüfen, ob ein String ein Element aus einer Liste enthält?

Wie kann man in Python effizient prüfen, ob ein String ein Element aus einer Liste enthält?

Linda Hamilton
Linda HamiltonOriginal
2024-11-06 18:28:021061Durchsuche

How to Efficiently Check if a String Contains an Element from a List in Python?

Überprüfen der Existenz von Zeichenfolgenelementen in einer Liste in Python

Diese Frage sucht nach einer eleganten Methode, um festzustellen, ob eine Zeichenfolge ein Element aus einer bestimmten Liste enthält Liste ohne Verwendung einer for-Schleife. Der folgende Code veranschaulicht das Problem:

<code class="python">extensionsToCheck = ['.pdf', '.doc', '.xls']

for extension in extensionsToCheck:
    if extension in url_string:
        print(url_string)</code>

Der Versuch des Benutzers, einen logischen ODER-Operator wie in C/C zu verwenden, führte nicht zum gewünschten Ergebnis.

Elegante Lösung Verwendung von Generatoren und Any

Eine ausgefeiltere Lösung nutzt einen Generator und die Any-Funktion, die als „True“ ausgewertet wird, sobald ein beliebiges Element in der Liste innerhalb der Zeichenfolge gefunden wird:

<code class="python">if any(ext in url_string for ext in extensionsToCheck):
    print(url_string)</code>

In diesem Code erzeugt ein Generatorausdruck eine Reihe boolescher Werte, die angeben, ob jedes Element in extensionsToCheck in url_string vorhanden ist. Die Funktion „any“ gibt dann „True“ zurück, wenn einer dieser booleschen Werte „True“ ist.

Vorsicht beim Überprüfen der Endposition

Es ist wichtig zu beachten, dass diese Lösung das nicht berücksichtigt Position der passenden Zeichenfolge innerhalb von url_string. Wenn die Liste beispielsweise .com enthielte und die untersuchte Zeichenfolge example.company.com wäre, würde die Lösung „True“ zurückgeben, auch wenn .com in der Mitte der Zeichenfolge erscheint.

Wenn die genaue Position der Wenn die passende Zeichenfolge ein Problem darstellt, wie es bei URLs oft der Fall ist, sollten Sie die Lösung von @Wladimir Palant in Betracht ziehen, bei der Dateierweiterungen im Kontext von URLs untersucht werden.

Das obige ist der detaillierte Inhalt vonWie kann man in Python effizient prüfen, ob ein String ein Element aus einer Liste enthält?. 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