Heim >Backend-Entwicklung >Python-Tutorial >Wie filtere ich Strings, die einen bestimmten Teilstring in Python enthalten?
Strings mit spezifischem Inhalt filtern
Das Filtern einer Liste von Strings basierend auf dem Inhalt ist eine häufige Aufgabe in der Programmierung. In diesem Fall wollen wir alle Strings aus einer Liste extrahieren, die den Teilstring „ab“ enthalten. Dies kann in Python auf verschiedene Weise erreicht werden.
Listenverständnisse
Der effizienteste Ansatz ist die Verwendung von Listenverständnissen, die Listeniteration und bedingte Filterung in einem Ausdruck kombinieren . So können Sie es machen:
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] ab_strings = [k for k in lst if 'ab' in k] print(ab_strings)</code>
Ausgabe:
['ab', 'abc']
Filterfunktion
Eine weitere Option ist um die Filterfunktion zu verwenden, die eine Liste durchläuft und ein von einer Lambda-Funktion angegebenes Filterkriterium anwendet. In Python 2 können Sie es wie folgt verwenden:
<code class="python">ab_strings = filter(lambda k: 'ab' in k, lst)</code>
In Python 3 gibt der Filter einen Iterator anstelle einer Liste zurück, sodass Sie entweder direkt darüber iterieren oder ihn in eine Liste umwandeln können:
<code class="python"># Option A: Iterate over the iterable for k in ab_strings: print(k) # Option B: Cast to a list ab_strings = list(ab_strings) print(ab_strings)</code>
Fazit
Sowohl Listenverständnisse als auch die Filterfunktion bieten effektive Möglichkeiten, eine Liste von Zeichenfolgen basierend auf bestimmten Inhalten zu filtern. Listenverständnisse werden jedoch aufgrund ihrer prägnanten und lesbaren Syntax im Allgemeinen bevorzugt.
Das obige ist der detaillierte Inhalt vonWie filtere ich Strings, die einen bestimmten Teilstring in Python enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!