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!