Die rechtzeitige Verwendung des Listenverständnisses in Python kann Ihnen iterative Listenoperationen erleichtern. Es ist nicht nur eine einzelne Zeile, sondern auch besser lesbar und wird effizienter ausgeführt.
Sie könnten sich jedoch aufregen, wenn Sie nicht wissen, wie man es benutzt. Es kann sogar frustrierender sein, wenn Sie nicht wissen, wo Sie es in Ihrem Code anwenden sollen. Hier zeigen wir Ihnen anhand einiger Beispiele aus der Praxis, wie Sie das Listenverständnis in Python verwenden.
Was ist Listenverständnis in Python und wie funktioniert es?
Das Erstellen einer Liste von Elementen mit Python ist einfach. Die Aufgabe kann jedoch etwas langwierig werden, wenn Sie eine Liste von Werten oder Elementen aus mathematischen Operationen oder Zeichenfolgenoperationen erstellen müssen. In diesem Fall kann es nützlich sein, das Listenverständnis zu verwenden.
Ein Vorteil der Verwendung des Listenverständnisses besteht darin, dass Sie mehrere Vorgänge in einer einzigen Liste ausführen können.
Im Gegensatz dazu werden neue Elemente erstellt und an eine leere Liste angehängt, die automatisch deklariert wird. Also anstatt eine leere Liste manuell zu erstellen und mit einem an sie anzuhängen zum Mit dem Listenverständnis von Python können Sie dies automatisch tun, ohne sich Gedanken darüber machen zu müssen, wie die neue Liste durchkommt.
Der Begriff "Listenverständnis" kommt von der Tatsache, dass sich alle Operationen in einer Python-Liste befinden, die einer benannten Variablen zugewiesen ist. Wie bereits erwähnt, können Sie damit bestimmte Vorgänge in einer einzigen Codezeile ausführen. Anschließend wird die Ausgabe an eine neue Liste angehängt.
Letztendlich können Sie die Ausgabe eines Listenverständnisses auch für andere Zwecke verwenden. Das liegt daran, dass Ausdrücke in separaten Variablen gestapelt werden. So können Sie später darauf verweisen.
Zum Beispiel könnten Sie sein Scraping einer Website mit BeautifulSoup. Angenommen, Sie möchten den Namen aller Artikel und deren Preise von der Website abrufen.
Anschließend entscheiden Sie, die gescrapten Daten in eine CSV- oder eine Excel-Datei einzufügen. Die ideale Vorgehensweise besteht darin, den Namen aller Artikel und ihre Preise zu kratzen und beide in separate Spalten zu setzen. In diesem Fall stellt die Verwendung eines Listenverständnisses jedoch sicher, dass die Daten in dedizierten Variablen gespeichert sind. Sie können solche Variablen später in einen Python DataFrame konvertieren.
Schauen Sie sich das folgende Beispiel an:
Products = [i.text für i in bs.find_all ('Namensschilder')]
Preis = [i.text für i in bs.find_all ('Preisschilder')]
Sobald Sie die Schleifenvariablen erhalten haben, können Sie sie mit Pythons Pandas in separate Spalten in einem DataFrame einfügen.
Erstellen und Verwenden eines Listenverständnisses in Python
Das zum Schleife ist ein wesentlicher Iterator in einem Listenverständnis. Im Allgemeinen hat ein Listenverständnis in Python folgendes Format:
ComprehensionVariable = [Ausdruck für Elemente in der Liste]
Drucken VerständnisVariabel gibt das Ergebnis des obigen Codes als Liste aus.
Achten Sie jedoch darauf, ein Listenverständnis nicht mit einem offenen zu verwechseln zum Schleife.
Lassen Sie uns zum Beispiel Verwenden Sie eine offene for-Schleife um eine Liste aller Vielfachen von drei zwischen 1 und 30 zu erhalten:
myList = []
für i im Bereich (1, 11):
myList.append (i * 3)
print (myList)
Ausgabe: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
Um die beiden zu vergleichen, machen wir dasselbe mit einem Listenverständnis:
multiplesOf3 = [i * 3 für i im Bereich (1, 11)]
print (multiplesOf3)
Ausgabe = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
Sie können auch ein Listenverständnis mit bedingten Anweisungen verwenden. Der folgende Beispielcode gibt alle ungeraden Zahlen zwischen 1 und 10 aus:
oddNumbers = [i für i im Bereich (1, 11), wenn nicht i% 2 == 2]
print (oddNumbers)
Ausgabe = [1, 3, 5, 7, 9]
Lassen Sie uns nun auch den obigen Code mit einem offenen Code umschreiben zum Schleife:
myList = []
für i im Bereich (1, 11):
wenn nicht i% 2 == 0:
myList.append (i)
print (myList)
Ausgabe: [1, 3, 5, 7, 9]
Verbunden: So hängen Sie eine Liste in Python an
Ein Listenverständnis akzeptiert auch verschachtelte if-Anweisungen:
oddNumbers = [i für i im Bereich (1, 11), wenn nicht i% 2 == 0, wenn i <4]
print (oddNumbers)
Ausgabe: [1, 3]
Es dauert auch eine verschachtelte zum Schleife:
someNums = [[i * 2 für i im Bereich (1, 3)] für _ im Bereich (4)]
print (someNums)
Sie können auch eine Ebene verschachteln lassen zum Schleife in einem Listenverständnis:
someNums = [i * 2 für i im Bereich (1, 3) für k im Bereich (4)]
Sie können Zeichenfolgen auch mit Python-Listenverständnis bearbeiten. Schauen wir uns unten ein Wortzählerverständnis an:
word = ["Dies ist ein Tutorial zum Verständnis der Python-Liste"]
wordCounter = [i.count ('') + 1 für i in word]
print (wordCounter)
Ausgabe: 7
Ein Listenverständnis kann auch eine Funktion akzeptieren, die eine bestimmte Operation ausführt. Fügen wir eine Multiplikatorfunktion ein, die gerade Zahlen in ein Listenverständnis erhält, um zu sehen, wie dies funktioniert:
Zahlen = [4, 7, 8, 15, 17, 10]
def Multiplikator (n):
Vielfaches = n * 2
mehrere zurückgeben
multipleEven = [Multiplikator (i) für i in Zahlen, wenn i% 2 == 0]
print (multipleEven)
Ausgabe: [8, 16, 20]
Sie können den obigen Code weiterhin in einer einzigen Funktion schreiben, ohne das Verständnis zu verwenden. Ein Listenverständnis ist jedoch hilfreich, wenn Sie mehrere Iterationen durchführen und jede in separate Variablen einfügen müssen.
Sie können beispielsweise eine andere Operation ausführen n und haben eine dedizierte Variable dafür. Lassen Sie uns das obige Verständnis ändern, um aus ungeraden gerade Zahlen zu generieren:
multipleEvenFromOdds = [Multiplikator (i) für i in Zahlen, wenn nicht i% 2 == 0]
print (multipleEvenFromOdds)
Ausgabe: [14, 30, 34]
Wörterbuch und Set-Verständnis
Neben einem Listenverständnis bietet Python auch ein Wörterbuch und eine Set-Verständnis-Funktionalität.
Schauen Sie sich das folgende Beispielwörterbuch an, um zu sehen, wie es funktioniert:
entsprechend = {i: i * 2 für i im Bereich (10), wenn nicht i% 2 == 0}
print (corr)
Ausgabe: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}
Der obige Code durchläuft die Liste der Zahlen zwischen 1 und 9 und macht sie zu den Schlüsseln. Anschließend wird Python angewiesen, jeden Schlüssel mit zwei zu multiplizieren. Schließlich werden die Ergebnisse dieser Operation als entsprechende Werte für jeden Schlüssel im resultierenden Array dargestellt.
Verbunden: Funktionsweise von Arrays und Listen in Python
Ein festgelegtes Verständnis ähnelt einem Listenverständnis. Hier ist ein Beispiel für ein festgelegtes Verständnis:
Zahlen = {i ** (2) für i im Bereich (10), wenn i% 4 == 0}
drucken (Zahlen)
Ausgabe: {0, 16, 64}
Im Gegensatz zum Listenverständnis werden beim Set-Verständnis jedoch Duplikate entfernt:
nums = {i für i im Bereich (20), wenn i% 2 == 1 für k im Bereich (10), wenn k% 2 == 1}
print (nums)
Ausgabe: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}
Sie können den obigen Code anhand eines Listenverständnisses ausprobieren, um festzustellen, wie sie sich unterscheiden.
Können Sie das Listenverständnis jedes Mal verwenden?
Wir haben uns verschiedene Beispiele für das Listenverständnis angesehen und wo Sie sie verwenden können. Wie bei jeder anderen Python-Methode hängt der Anwendungsfall eines Listenverständnisses jedoch von dem spezifischen Problem ab, das Sie lösen möchten. Daher sollten Sie es nur verwenden, wenn es für das spezifische Problem, das Sie lösen möchten, ideal ist.
Ein Zweck des Listenverständnisses besteht darin, Ihren Code zu vereinfachen und lesbarer zu machen. Vermeiden Sie daher Komplexität, wenn Sie damit umgehen. Zum Beispiel kann ein langes Python-Verständnis komplex zu lesen sein. Das macht seinen Zweck zunichte.
Hier finden Sie alles, was Sie über die Verwendung dieser erstaunlichen Python-Funktion wissen müssen, die Ihre Produktivität und Lesbarkeit von Code über Nacht steigert.
- Programmierung
- Python
Idowu ist begeistert von intelligenter Technologie und Produktivität. In seiner Freizeit spielt er mit dem Codieren herum und wechselt zum Schachbrett, wenn er gelangweilt ist, aber er liebt es auch, ab und zu von der Routine abzubrechen. Seine Leidenschaft, Menschen den Weg in die moderne Technik zu zeigen, motiviert ihn, mehr zu schreiben.
Abonniere unseren Newsletter
Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!
Noch ein Schritt…!
Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.