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.
Verwenden von Listenverständnissen
Eine der einfachsten und am meisten empfohlenen Vorgehensweisen ist die Verwendung 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 spezielle Anforderung zum Filtern von Zeichenfolgen, die „ab“ enthalten, können Sie das folgende Verständnis anwenden:
lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]
Dieses Verständnis iteriert durch jede Zeichenfolge in der Originalliste ('a', 'ab', 'abc', 'bac') und prüft wenn es die Teilzeichenfolge „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 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 den Filter wie folgt verwenden:
lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))
Die Filterfunktion verwendet eine anonyme Funktion (Lambda-Funktion) als erstes Argument, die prüft, ob 'ab' in der Eingabe vorhanden ist Zeichenfolge. Das zweite Argument ist die Originalliste. Das Ergebnis des Filters 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 im Allgemeinen wegen ihrer Prägnanz und Lesbarkeit bevorzugt, insbesondere für einfache Filteraufgaben wie diese.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3