Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man in Python effizient prüfen, ob ein String ein Element aus einer Liste enthält?
Ü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!