Python

So filtern Sie eine Liste von Strings in Python

So filtern Sie eine Liste von Strings in Python
Python verwendet den Listendatentyp, um mehrere Daten in einem sequentiellen Index zu speichern. Es funktioniert wie ein numerisches Array anderer Programmiersprachen. filter() Methode ist eine sehr nützliche Methode von Python. Ein oder mehrere Datenwerte können mit der Methode filter() aus jeder Zeichenfolge, Liste oder jedem Wörterbuch in Python gefiltert werden.  Es filtert Daten basierend auf einer bestimmten Bedingung. Es speichert Daten, wenn die Bedingung true zurückgibt, und verwirft Daten, wenn false zurückgegeben wird. Wie die String-Daten in einer Liste in Python gefiltert werden können, wird in diesem Artikel anhand verschiedener Beispiele gezeigt. Sie müssen Python 3+ verwenden, um die Beispiele dieses Artikels zu testen.

Filtern Sie eine Liste von Zeichenfolgen mit einer anderen Liste

Dieses Beispiel zeigt, wie die Daten in einer Liste von Zeichenfolgen gefiltert werden können, ohne eine Methode zu verwenden. Die Liste des Strings wird hier durch eine andere Liste gefiltert. Hier werden zwei Listenvariablen mit dem Namen deklariert Liste1 und Liste2. Die Werte von Liste2 wird mit den Werten von gefiltert Liste1. Das Skript stimmt mit dem ersten Wort jedes Wertes von überein Liste2 mit den Werten von Liste1 und drucke die Werte, die nicht in ' existieren Liste1.

# Deklarieren Sie zwei Listenvariablen
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript ist eine clientseitige Skriptsprache',
'PHP ist eine serverseitige Skriptsprache',
„Java ist eine Programmiersprache“,
'Bash ist eine Skriptsprache']
 
# Filtern Sie die zweite Liste basierend auf der ersten Liste
filter_data = [x für x in list2 if
all(y nicht in x für y in Liste1)]
 
# Listendaten vor dem Filter und nach dem Filter drucken
print("Der Inhalt der ersten Liste:", list1)
print("Der Inhalt der zweiten Liste:", list2)
print("Der Inhalt der zweiten Liste nach Filter:", filter_data)

Ausgabe:

Führen Sie das Skript aus. Hier, Liste1 enthält nicht das Wort 'Bash'. Die Ausgabe enthält nur einen Wert von Liste2 das ist 'Bash ist eine Skriptsprache'.

Filtern Sie eine Liste von Zeichenfolgen mit einer anderen Liste und einer benutzerdefinierten Funktion

Dieses Beispiel zeigt, wie eine Liste von Zeichenfolgen mithilfe einer anderen Liste und der benutzerdefinierten Filterfunktion gefiltert werden kann. Das Skript enthält zwei Listenvariablen namens list1 und list2. Die benutzerdefinierte Filterfunktion findet die gemeinsamen Werte beider Listenvariablen.

# Deklarieren Sie zwei Listenvariablen
list1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
 
# Deklarieren Sie eine Funktion zum Filtern von Daten aus der ersten Liste
def Filter (Liste1, Liste2):
Rückgabe [n für n in Liste1 wenn
any(m in n for m in list2)]
 
# Drucken Sie die Listendaten vor dem Filter und nach dem Filter
print("Der Inhalt von list1:", list1)
print("Der Inhalt von list2:", list2)
print("Die Daten nach dem Filter",Filter(list1, list2))

Ausgabe:

Führen Sie das Skript aus. 90 und 12 Werte sind in beiden Listenvariablen vorhanden. Die folgende Ausgabe wird nach dem Ausführen des Skripts generiert.

Filtern Sie eine Liste von Strings mit regulären Ausdrücken

Liste wird gefiltert mit alle() und irgendein() Methoden in den vorherigen beiden Beispielen. In diesem Beispiel wird ein regulärer Ausdruck verwendet, um die Daten aus einer Liste zu filtern. Ein regulärer Ausdruck ist ein Muster, nach dem beliebige Daten gesucht oder abgeglichen werden können. 'Re' Das Modul wird in Python verwendet, um reguläre Ausdrücke im Skript anzuwenden. Hier wird eine Liste mit Themencodes deklariert. Ein regulärer Ausdruck wird verwendet, um die Betreffcodes zu filtern, die mit dem Wort 'CSE'. '^' Symbol wird in Mustern für reguläre Ausdrücke verwendet, um am Anfang des Textes zu suchen search.

# Re-Modul importieren, um reguläre Ausdrücke zu verwenden
Importieren
 
# Erklären Sie, dass die Liste den Betreffcode enthält
Unterliste = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Deklarieren Sie die Filterfunktion
def Filter (Datenliste):
# Suchdaten basierend auf regulären Ausdrücken in der Liste
Rückgabe [Wert für Wert in Datenliste
wenn re.search(r'^CSE', val)]
# Drucken Sie die Filterdaten
print(Filter(Unterliste))

Ausgabe:

Führen Sie das Skript aus. Unterliste Variable enthält zwei Werte, die mit ' beginnenCSE'. Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Filtern Sie eine Liste von Zeichenfolgen mit einem Lamda-Ausdruck

Dieses Beispiel zeigt die Verwendung von lamda Ausdruck zum Filtern von Daten aus einer Liste von Zeichenfolgen. Hier eine Listenvariable namens Suchbegriff wird verwendet, um Inhalte aus einer Textvariablen namens . zu filtern Text. Der Inhalt des Textes wird in eine Liste mit dem Namen, text_word basierend auf Platz durch Verwendung von Teilt() Methode. lamda Ausdruck lässt diese Werte aus dem text_word die existieren in Suchbegriff und speichern Sie die gefilterten Werte in einer Variablen, indem Sie Leerzeichen hinzufügen.

# Deklarieren Sie eine Liste, die das Suchwort enthält
search_word = ["Teach", "Code", "Programming", "Blog"]
# Definieren Sie den Text, in dem das Wort aus der Liste gesucht wird
text = "Python-Programmierung im Linux-Tipp-Blog lernen"
# Teilen Sie den Text nach Leerzeichen auf und speichern Sie die Wörter in einer Liste
text_word = text.Teilt()
# Verwenden Sie einen Lambda-Ausdruck, um die Daten zu filtern
filter_text = ".join((filter(lambda val: val nicht i
n Suchwort, Textwort)))
# Text vor dem Filtern und nach dem Filtern drucken
print("\nText vor dem Filtern:\n", Text)
print("Text nach Filterung:\n", filter_text)

Ausgabe:

Führen Sie das Skript aus. Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Filtern Sie eine Liste von Strings mit der Methode filter()

Filter() Methode akzeptiert zwei Parameter. Der erste Parameter nimmt einen Funktionsnamen an oder Keiner und der zweite Parameter nimmt den Namen der Listenvariablen als Werte an. Filter() -Methode speichert diese Daten aus der Liste, wenn sie true zurückgibt, andernfalls verwirft sie die Daten. Hier, Keiner wird als erster Parameterwert angegeben. Alle Werte ohne falsch werden als gefilterte Daten aus der Liste abgerufen.

# Deklarieren Sie eine Liste von Mix-Daten
listData = ['Hallo', 200, 1, 'Welt', False, True, '0']
 
# Rufen Sie die Methode filter() mit None und einer Liste auf
gefilterteDaten = filter(None, listData)
 
# Drucken Sie die Liste nach dem Filtern der Daten
print('Die Liste nach dem Filtern:')
für val in gefiltertenDaten:
drucken(wert)

Ausgabe:

Führen Sie das Skript aus. Die Liste enthält nur einen falschen Wert, der in den gefilterten Daten weggelassen wird. Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Fazit:

Das Filtern ist hilfreich, wenn Sie bestimmte Werte in einer Liste suchen und abrufen müssen. Ich hoffe, die obigen Beispiele helfen den Lesern zu verstehen, wie man Daten aus einer Liste von Strings filtert.

So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...
Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....
So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...