In Python ist eine der beliebtesten Möglichkeiten, sequentielle oder geordnete Daten zu speichern, die Verwendung von Listen. Eine Liste in Python ist eine geordnete, veränderbare, integrierte Datenstruktur, die zum Speichern einer Sammlung von Daten verwendet wird. Die in einer Liste gespeicherten Elemente werden bei Null beginnend indiziert, und der Inhalt einer Liste kann nach ihrer Erstellung geändert werden.
Die Tatsache, dass Elemente in einer Liste indiziert sind, ermöglicht die Speicherung von doppelten Elementen in einer Liste. Listen in Python können auch Elemente mit unterschiedlichen Datentypen enthalten. Elemente in einer Liste werden durch Kommas getrennt und in eckige Klammern gesetzt.

Hier sind Beispiele für Listen in Python:
# Eine Liste mit einem Datentyp - String
colors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']
# Eine Liste mit mehreren Datentypen
movies = ['Transformers', 2012, 'Avengers', 300]
# Eine Liste mit doppelten Werten
users = ['John', 'Mary', 'Elizabeth', 'John']
Listen sind eine sehr vielseitige Datenstruktur, und Sie können viele Operationen mit den in Listen gespeicherten Daten durchführen. Eine gängige und nützliche Operation, die mit Listen durchgeführt wird, ist das Filtern der in der Liste gespeicherten Daten.
Warum das Filtern von Listen wichtig ist
Eine Liste zu filtern bedeutet, bestimmte Teilmengen von Daten zu extrahieren, die ein bestimmtes Kriterium erfüllen. Zum Beispiel könnten wir nur an geraden Zahlen in einer Liste interessiert sein, die die Zahlen 1 bis 10 enthält. Um solche Daten aus der Liste zu extrahieren, müssen wir die Liste nur so filtern, dass wir Zahlen erhalten, die genau durch zwei teilbar sind.

Das Filtern ist besonders nützlich bei der Datenmanipulation und Datenanalyse, da es das Entfernen unerwünschter Elemente aus Listen, das Erstellen neuer Listen mit Elementen, die bestimmte Kriterien erfüllen, und das Extrahieren von Daten, die bestimmte Bedingungen erfüllen, ermöglicht.
Einige praktische Anwendungen für das Filtern von Listen sind:
- Datenvalidierung - Wenn Sie mit einer Liste arbeiten, möchten Sie vielleicht nur mit Daten arbeiten, die ein bestimmtes Kriterium erfüllen. In einer Benutzerliste könnten Sie beispielsweise an Benutzern interessiert sein, die sowohl einen Vor- als auch einen Nachnamen haben. Mit Hilfe von Filtern können Sie die Daten in der Liste überprüfen und validieren, bevor Sie sie verarbeiten. Auf diese Weise vermeiden Sie, dass Sie mit Daten arbeiten, die nicht Ihren Anforderungen entsprechen.
- Datenbereinigung - Da Listen eine Vielzahl von Datentypen speichern können, kommt es nicht selten vor, dass Listen unerwünschte Daten enthalten, an denen Sie nicht interessiert sind. In einer Liste, die Namen enthält, sind Sie beispielsweise nicht an numerischen Werten in der Liste interessiert. Durch Filtern können Sie die unerwünschten Daten entfernen.
- Datenanalyse - Das Filtern von Daten ist bei der Datenanalyse besonders nützlich, da Sie sich so auf bestimmte Teilmengen von Daten konzentrieren können, wodurch Sie leicht Muster und Trends erkennen können. So können Sie beispielsweise in einer Liste von Studenten männliche und weibliche Studenten herausfiltern und das Ergebnis für die Datenanalyse verwenden. Sie können sogar nach Alter, Ort und Klasse filtern. So können Sie aus bestimmten Teilmengen von Daten in einer Liste nützlichere Schlüsse ziehen
Das Filtern von Listen ist eine sehr nützliche Funktion, da sie Ihnen die Kontrolle über die in einer Liste gespeicherten Daten gibt und es Ihnen ermöglicht, nur mit den Daten zu arbeiten, an denen Sie interessiert sind.
Die gezielte Auswahl bestimmter Teilmengen von Daten, die in einer Liste gespeichert sind, ist sehr nützlich, da sie die Datenverarbeitung und die Datenanalyse rationalisiert und die Prozesse besser, schneller und genauer macht.
Verwendung der Funktion filter()
Die filter() -Funktion ist eine integrierte Python-Funktion, mit der Sie eine Iterable wie eine Liste, Tupel, Menge oder ein Wörterbuch durchlaufen und die Elemente in der Iterable extrahieren können, die eine bestimmte Bedingung erfüllen.
Eine Iterable in Python ist ein Objekt, dessen Elemente in einer Schleife nacheinander durchlaufen werden können. Das Iterieren durch eine Iterable gibt die Elemente in der Iterable nacheinander zurück.
Die Syntax für die Filterfunktion lautet wie folgt:
filter(function, iterable)
Funktion - eine Python-Funktion, die die Filterungsbedingung enthält
iterierbar - die Iterable, die gefiltert werden soll. In diesem Fall werden wir eine Liste verwenden.
Die Funktion filter() wendet die übergebene Funktion auf jedes Element in der übergebenen iterable an und testet die Filterbedingung auf das Element. Erfüllt das Element die Bedingung, d.h. gibt es den booleschen Wert true zurück, wird es von der filter() -Funktion ausgewählt. Erfüllt es die Bedingung nicht, wird das Element nicht ausgewählt.
Die Funktion filter() gibt eine Iterable mit den Elementen zurück, die die Filterbedingung erfüllt haben. Mit der Funktion Liste() können Sie eine neue Liste mit Elementen erstellen, die die Filterbedingung erfüllen.
Um die Funktion filter() in Aktion zu sehen, sehen Sie sich die folgende Liste an, die gefiltert wird, um Zahlen auszuwählen, die kleiner als 50 sind:
# Eine Liste von Zahlen
numbers = [79, 15, 92, 53, 46, 24, 81, 77, 37, 61]
# Funktion, die die Filterbedingung enthält
def is_even(num):
if num < 50:
return True
else:
return False
# die Funktion list() wird verwendet, um eine Liste aus der Iterable
# zu erstellen, die von der Funktion filter() zurückgegeben wird
filtered_numbers = list(filter(is_even, numbers))
print(filtered_numbers)
Der obige Code gibt das folgende Ergebnis aus:
[15, 46, 24, 37]
Eine for-Schleife verwenden
In Python ist eine for-Schleife eine Kontrollflussanweisung, die verwendet wird, um über sequentielle Datenstrukturen wie Listen, Tupel, Strings und Arrays zu iterieren. Eine for-Schleife führt wiederholt einen Codeblock für jedes Element in einer Sequenz aus.
Die allgemeine Syntax für eine for-Schleife lautet wie folgt:
for item in iterable:
# Codeblock, der für jedes Element in der iterable ausgeführt wird
Artikel - eine Variable, die das aktuelle Element darstellt, das in einer Iteration der Schleife verarbeitet wird
iterierbar - die Sequenz, über die die for-Schleife iteriert. In diesem Fall ist es eine Liste
Um eine Liste mit Hilfe einer for-Schleife zu filtern, müssen wir unsere Filterbedingung in den Abschnitt für den auszuführenden Codeblock einfügen. Auf diese Weise wird jedes Element daraufhin geprüft, ob es eine bestimmte Bedingung erfüllt.
Wenn Sie eine for-Schleife zum Filtern einer Liste verwenden, müssen Sie auch eine leere Liste erstellen, an die Sie die Werte anhängen, die Ihre Filterbedingung erfüllen.
Um dies in Aktion zu sehen, lassen Sie uns eine Liste mit Zahlen filtern, um Zahlen kleiner als 50 zu erhalten, indem wir eine for-Schleife verwenden:
numbers = [79, 15, 92, 53, 46, 24, 81, 77, 37, 61]
filtered_numbers = []
for num in numbers:
if num < 50:
# append() verwendet, um eine Zahl, die die Bedingung
# erfüllt, in filtered_numbers einzufügen.
filtered_numbers.append(num)
print(filtered_numbers)
Der obige Code gibt das folgende Ergebnis aus:
[15, 46, 24, 37]
Eine andere Liste verwenden
Sie können eine Liste mit Hilfe einer anderen Liste filtern, indem Sie prüfen, ob ein Element in einer Liste, die Sie filtern möchten, in einer anderen Liste vorkommt. Betrachten Sie zum Beispiel die folgenden zwei Listen
buchstaben = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
Vokale = ['a', 'e', 'i', 'o', 'u']
In der obigen Liste mit den Buchstaben können wir feststellen, welche Elemente in der Liste keine Vokale sind, indem wir prüfen, ob das Element in der Liste mit den Vokalen erscheint oder nicht. Wenn ein Element nicht in der Liste der Vokale auftaucht, dann ist es kein Vokal.
Auf diese Weise erhalten wir alle Zeichen in Buchstaben, die keine Vokale sind. Führen Sie dazu den folgenden Code aus:
letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
vowels = ['a', 'e', 'i', 'o', 'u']
not_vowel = []
for letter in letters:
if letter not in vowels:
not_vowel.append(Buchstabe)
print(not_vowel)
Der obige Code gibt die folgende Ausgabe aus, die Zeichen in Buchstaben enthält, die keine Vokale sind.
['h', 'q', 'd', 's', 'x', 'g', 'j', 'k', 'f', 'c', 'b', 'n']
Listenverstehen verwenden
In Python bietet List Comprehension eine kürzere, prägnantere und sauberere Syntax für die Erstellung einer neuen Liste aus einer bestehenden Liste. Mit List Comprehension können Sie die mehreren Codezeilen, die für die Erstellung einer neuen Liste aus einer anderen Liste mit Hilfe einer für-Schleife benötigt werden, auf eine einzige Zeile reduzieren.
Das liegt daran, dass Sie bei der Verwendung von List Comprehension die Elemente in einer einzigen Zeile definieren und der neuen Liste hinzufügen.
Die Syntax für List Comprehension lautet wie folgt:
new_list = [Ausdruck für Element in iterable if condition]
neue_liste - eine neue Liste mit Elementen, die durch das Listenverständnis hinzugefügt wurden
Ausdruck - eine Operation, die auf jedes Element der iterable angewendet wird
Artikel - Variablenname, der das aktuell aktive Element in der Iterable darstellt
iterierbar - eine Iterable, aus der die Elemente ausgewählt werden.
wenn Bedingung - ein optionaler Teil, in dem eine Bedingung hinzugefügt werden kann, um Elemente zu filtern und nur diejenigen in die neu zu erstellende Liste aufzunehmen, die eine bestimmte Bedingung erfüllen.
Um das Listenverständnis in Aktion zu sehen und zu sehen, wie sehr es den Prozess des Filterns und der Erstellung einer neuen Liste vereinfachen kann, verwenden wir die Buchstaben- und Vokalliste, um Elemente aus der Buchstabenliste herauszufiltern, die nicht in der Vokalliste enthalten sind. Führen Sie dazu den folgenden Code aus:
buchstaben = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
Vokale = ['a', 'e', 'i', 'o', 'u']
# Listenverstehen
not_vowel = [letter for letter in letters if letter not in vowels]
print(not_vowel)
Die Ausgabe des obigen Codes ist unten zu sehen:
['h', 'q', 'd', 's', 'x', 'g', 'j', 'k', 'f', 'c', 'b', 'n']
Die Ausgabe ähnelt dem vorherigen Beispiel, bei dem eine for-Schleife verwendet wurde, um eine Liste anhand einer anderen Liste zu filtern. Es werden jedoch weniger Codezeilen benötigt, um das gleiche Ergebnis zu erzielen.
Fazit
Bei der Arbeit mit Daten in Python ist das Filtern von Daten aus einer iterierbaren Datei wie einer Liste eine häufige Operation, die Sie zwangsläufig durchführen müssen. Dies ist ein sehr nützlicher Schritt bei der Datenanalyse und Datenverarbeitung, da Sie so nur mit Daten arbeiten können, die für die jeweilige Operation oder Verarbeitung relevant sind.
Eine sehr beliebte sequentielle Datenstruktur in Python ist die Liste. Für den Fall, dass Sie mit einer Liste arbeiten und diese filtern müssen, können Sie eine der in diesem Artikel vorgestellten Methoden verwenden.
Lesen Sie auch, wie Sie Lambda-Funktionen in Python mit Beispielen verwenden können.