Heim >Backend-Entwicklung >Python-Tutorial >Wie filtere ich eine Liste von Strings, die einen bestimmten Teilstring in Python enthalten?

Wie filtere ich eine Liste von Strings, die einen bestimmten Teilstring in Python enthalten?

Linda Hamilton
Linda HamiltonOriginal
2024-10-20 06:14:29591Durchsuche

How to Filter a List of Strings Containing a Specific Substring in Python?

Filtern einer Liste von Zeichenfolgen basierend auf ihrem Inhalt

Bei einer gegebenen Liste von Zeichenfolgen müssen Sie möglicherweise nur diejenigen extrahieren, die enthalten eine bestimmte Teilzeichenfolge. In Python gibt es mehrere effektive Möglichkeiten, diesen Filtervorgang durchzuführen.

Verwendung von Listenverständnissen

Eine der einfachsten und am meisten empfohlenen Vorgehensweisen ist die Nutzung der leistungsstarken Listenverständnisse von Python . Listenverständnisse bieten eine prägnante und ausdrucksstarke Möglichkeit, eine neue Liste basierend auf den Elementen einer vorhandenen Liste zu erstellen. Für Ihre spezifische Anforderung zum Filtern von Zeichenfolgen, die „ab“ enthalten, können Sie das folgende Verständnis verwenden:

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]</code>

Dieses Verständnis iteriert durch jede Zeichenfolge in der Originalliste („a“, „ab“, „abc“) ', 'bac') und prüft, ob es den Teilstring 'ab' enthält. Bei „true“ wird die Zeichenfolge zur resultierenden Liste hinzugefügt. Dadurch erhalten Sie die gewünschte gefilterte Liste: ['ab', 'abc'].

Verwenden der Filterfunktion

Eine weitere Methode zum Filtern von Zeichenfolgen in Python ist die Verwendung von die Filterfunktion. Diese Funktion verwendet eine Filterfunktion und eine Iterable als Argumente und gibt einen Iterator zurück, der die Elemente der Iterable liefert, die die Filterfunktion erfüllen. In Ihrem Fall können Sie Filter wie folgt verwenden:

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))</code>

Die Filterfunktion verwendet eine anonyme Funktion (Lambda-Funktion) als erstes Argument, die prüft, ob „ab“ in der Eingabezeichenfolge vorhanden ist. Das zweite Argument ist die Originalliste. Das Ergebnis von filter ist ein Iterator, der dann mit list() in eine Liste umgewandelt wird. Dies erzeugt wiederum die gewünschte ['ab', 'abc']-Liste.

Während sowohl Listenverständnisse als auch die Filterfunktion die gewünschte Filterung erreichen können, werden Listenverständnisse aufgrund ihrer Prägnanz und Lesbarkeit im Allgemeinen bevorzugt, insbesondere für einfache Filteraufgaben wie diese.

Das obige ist der detaillierte Inhalt vonWie filtere ich eine Liste von Strings, die einen bestimmten Teilstring in Python enthalten?. 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