Zeichenkette in Liste finden in Python

Manav Narula 30 Januar 2023
  1. Verwenden Sie die for-Schleife, um Elemente aus einer Liste zu finden, die eine bestimmte Teilzeichenkette in Python enthalten
  2. Mit der Funktion filter() Elemente aus einer Python-Liste finden, die eine bestimmte Zeichenkette enthalten
  3. Mit regulären Ausdrücken Elemente aus einer Python-Liste finden, die eine bestimmte Teilzeichenkette enthalten
Zeichenkette in Liste finden in Python

In diesem Tutorial wird gezeigt, wie man in Python Elemente aus einer Liste findet, die eine bestimmte Teilzeichenkette enthalten.

Wir werden mit der folgenden Liste arbeiten und Zeichenketten extrahieren, die ack in sich haben.

my_list = ["Jack", "Mack", "Jay", "Mark"]

Verwenden Sie die for-Schleife, um Elemente aus einer Liste zu finden, die eine bestimmte Teilzeichenkette in Python enthalten

In dieser Methode iterieren wir durch die Liste und prüfen, ob die Teilzeichenkette in einem bestimmten Element vorhanden ist oder nicht. Wenn die Teilzeichenkette in dem Element vorhanden ist, dann speichern wir sie in der Zeichenkette. Der folgende Code zeigt, wie das geht:

str_match = [s for s in my_list if "ack" in s]
print(str_match)

Ausgabe:

['Jack', 'Mack']

Das Schlüsselwort in prüft, ob die angegebene Zeichenkette, in diesem Beispiel "ack", in der Zeichenkette vorhanden ist oder nicht. Es kann auch durch die Methode __contains__ ersetzt werden, die eine magische Methode der String-Klasse ist. Ein Beispiel:

str_match = [s for s in my_list if s.__contains__("ack")]
print(str_match)

Ausgabe:

['Jack', 'Mack']

Mit der Funktion filter() Elemente aus einer Python-Liste finden, die eine bestimmte Zeichenkette enthalten

Die Funktion filter() holt mit Hilfe einer Funktion eine Teilmenge der Daten aus einem gegebenen Objekt. Diese Methode verwendet das Schlüsselwort lambda, um die Bedingung für die Filterung der Daten zu definieren. Das Schlüsselwort lambda erzeugt eine einzeilige lambda-Funktion in Python. Sehen Sie sich den folgenden Codeschnipsel an.

str_match = list(filter(lambda x: "ack" in x, my_list))
print(str_match)

Ausgabe:

['Jack', 'Mack']

Mit regulären Ausdrücken Elemente aus einer Python-Liste finden, die eine bestimmte Teilzeichenkette enthalten

Ein regulärer Ausdruck ist eine Folge von Zeichen, die als passendes Muster für die Suche nach Elementen dienen kann. Um reguläre Ausdrücke zu verwenden, müssen wir das Modul re importieren. In dieser Methode werden wir die for-Schleife und die re.search()-Methode verwenden, die dazu dient, ein Element zurückzugeben, das einem bestimmten Muster entspricht. Der folgende Code erklärt, wie das geht:

import re

pattern = re.compile(r"ack")
str_match = [x for x in my_list if re.search("ack", x)]
print(str_match)

Ausgabe:

['Jack', 'Mack']
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python List