Heim  >  Artikel  >  Backend-Entwicklung  >  Wie filtere ich Zeichenfolgen in einer Liste basierend auf Teilzeichenfolgen?

Wie filtere ich Zeichenfolgen in einer Liste basierend auf Teilzeichenfolgen?

Susan Sarandon
Susan SarandonOriginal
2024-10-20 06:13:29274Durchsuche

How to Filter Strings in a List Based on Substrings?

Strings in einer Liste basierend auf Teilstrings filtern

Wie können wir eine gegebene Liste von Strings so filtern, dass nur diejenigen enthalten sind, die a enthalten? spezifischer Teilstring? Wenn wir beispielsweise die Liste ['a', 'ab', 'abc', 'bac'] haben, möchten wir die Liste ['ab', 'abc'] erhalten.

Lösung mit Listenverständnis

Eine effiziente Methode besteht darin, Pythons Listenverständnis zu verwenden:

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

Das Listenverständnis iteriert über jede Zeichenfolge k in lst und prüft, ob die Teilzeichenfolge 'ab ' existiert darin. Wenn wahr, wird k zur Ergebnisliste hinzugefügt.

Alternativer Ansatz mit Filter

Alternativ können wir die Filterfunktion verwenden, um das gleiche Ergebnis zu erzielen:

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

Hier verwendet die Filterfunktion eine Lambda-Funktion, die prüft, ob in jeder Zeichenfolge „ab“ vorhanden ist. Der resultierende Iterator wird dann mithilfe von list in eine Liste umgewandelt.

Fazit

Beide Listenverständnisse und die Filterfunktion bieten wirksame Mittel, um eine Liste von Zeichenfolgen nach bestimmten Kriterien zu filtern Inhalt. Die Wahl zwischen den beiden Methoden hängt von den persönlichen Vorlieben und der Lesbarkeit des Codes ab.

Das obige ist der detaillierte Inhalt vonWie filtere ich Zeichenfolgen in einer Liste basierend auf Teilzeichenfolgen?. 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