Lassen Sie uns über etwas sprechen, das für Python ziemlich einzigartig ist und die Dinge für Python-Programmierer wirklich, wirklich nett
macht, und es heißt Verständnis, es ist einer unserer Schlüsselbegriffe.
Verständnis.
Was sind Sie?
Nun, sie werden eigentlich Listenverständnis oder Mengenverständnis oder Wörterbuchverständnis genannt.
Und dies sind einige der Datentypen, die wir in Python haben.
Und wir sind in der Lage, Verständnis mit diesen drei Datentypen zu verwenden, übrigens, während ich aufnehme, gibt es
im Hintergrund einige Vögel zwitschern.
Ich dachte, es wäre schön, nur das Zwitschern der Vögel im Hintergrund aufzunehmen.
Ich denke, es wird friedlich für Sie sein, wenn Sie sich ärgern.
Tut mir leid, aber hey, die Vögel müssen auch Spaß haben.
OK, also was sind diese Verständnisse?
Nun, sie sind eine schnelle Möglichkeit für uns, Listen oder Mengen oder ein Wörterbuch in Python zu erstellen, anstatt vielleicht eine Reihe von
Elementen an Listen zu wiederholen oder an sie anzuhängen.
Lassen Sie mich Ihnen also zeigen, dass meine Liste einer leeren Liste entspricht, anstatt etwas zu tun, und von hier
aus mache ich etwas wie vier Zeichen in Hello.
Meine Liste Punkt anhängen.
Charakter.
Damit ich endlich diese Liste erstellen kann, sagen wir mal meine Liste und wir drucken sie aus.
Wenn ich klicke, laufe.
Ich habe eine Liste erstellt, die die Zeichen von Hello enthält.
Alles klar, aber.
Gibt es einen schnelleren, saubereren Weg, dies zu tun, und ja, mit weniger Verständnis in Python.
Wieder ist es ziemlich einzigartig.
Sie sehen es nicht in vielen Programmiersprachen, aber Leute, die Python verwenden, lieben diese Funktion wirklich, und
ich auch.
Wie können wir dies also mithilfe eines Listenverständnisses tun?
Nun, das Format, dem wir folgen werden, ist wie folgt.
Wir werden Perram sagen.
Zum.
Perram in iterierbar.
Wenn ich also Perram sage, meine ich Parameter, oder in unserem Fall könnte es eine Variable sein, also können wir sie benennen,
wie wir wollen.
Also lassen Sie uns diesen Charakter so benennen, wie wir es hier getan haben, und dann einen Charakter, wie wir es hier getan haben.
Und dann wollen wir ein iterierbares in unserem Fall hallo sagen.
Wenn ich dies entferne und auf Ausführen klicke.
Ich bekomme das gleiche einfach so, also erstelle ich nach Creation Online 3 eine Liste, die Zeichen in
Hello enthält, ich mache hier eine for-Schleife und erstelle die Liste.
Ich denke also gerne darüber nach, hey, erstelle eine Variable und
dann machen wir eine for-Schleife und sagen, hey, für jede Variable im iterierbaren, die der Liste hinzugefügt wird.
OK, erweitern wir das, sagen wir, ich wollte etwas anderes machen, nennen wir es auch
meine Liste, und ich möchte, sagen wir, eine schnelle Liste mit Zahlen von null bis hundert oder null bis neunundneunzig
erstellen.
Wie würde ich das nochmal machen?
Unter Verwendung eines Listenverständnisses sage ich Nummer vier und was ist dann das Iterable, das ich verwenden werde?
Nun, ich werde einen Bereich verwenden und null bis 100 sagen, damit wenn ich hier auf Ausführen klicke.
Sehen Sie sich das an, ich bekomme eine schöne lange Liste, die mit all diesen Zahlen ziemlich gefüllt ist.
Wie cool ist das?
OK.
Aber hier ist meine Herausforderung an Sie.
Was wäre, wenn ich das wollte, aber alle Zahlen sollten mit zwei multipliziert werden.
Also möchte ich eine Liste, bei der dies gleich Null ist.
Dies ist zwei.
Das ist vier.
Das ist sechs.
Das ist acht.
Das ist zehn.
Und so weiter und so fort.
Wie kann ich es tun?
Nun, wir können dies tatsächlich erweitern, sodass meine Liste drei diesmal dieselbe for-Schleife verwendet, die wir zuvor
gesehen haben.
So, aber statt nur der Variablen, ist dies jetzt ein Ausdruck dafür, wie wir auf jedes Zeichen reagieren möchten,
genau wie wir es in Lambda-Ausdrücken gesehen haben.
Also ich kann jetzt mal taub dazu sagen.
Zum.
Diese Gegenstände.
Also, wenn ich jetzt meine Liste drei mache.
He, sieh dir das an.
Das ist ziemlich nett, nicht wahr?
Okay, machen wir es noch anspruchsvoller, sagen wir Miles drei, und machen wir das hier ein bisschen
größer.
Meine Liste für Ich möchte es so ändern, dass ich in meiner Liste immer noch die Nummern behalte, die ich habe, aber ich möchte nur
die geraden Nummern behalten.
In diesem Fall sind sie alle gerade, weil sie mit zwei multipliziert werden, aber wenn wir zum Beispiel
hoch zwei machen und dies für eine Sekunde auskommentieren und auf Ausführen klicken.
Wir sehen, dass einige Zahlen nicht sind.
Trotzdem möchte ich diese Zahlen behalten, aber nur die geraden, wie würde ich das machen?
Nun, in diesem Fall haben wir eine neue Möglichkeit, diesen Ausdruck zu erstellen. Wir werden genau dasselbe tun, was wir hier
getan haben.
Also kopiere ich das einfach.
Aber denken Sie daran, dass wir am Ende hier einen Ausdruck haben, etwas, das wir tun werden, um zu bewirken, was
auch immer das Element im Iterable ist.
Wir werden die Dinge durchgehen und schließlich danach sagen, ob oder wir eine Wenn-Bedingung ausführen können.
Sagen wir in unserem Fall, ich sage, wenn num.
Modulo zwei ist gleich null, wird erst dann der Liste hinzugefügt.
Wenn wir also klicken, laufen Sie.
Nun, und stellen Sie sicher, dass es weniger für Click Run ist.
Sehen Sie sich das an, all dies sind gerade Zahlen, also schauen wir uns dieses Format an.
Erinnern?
Diese werden Listenverständnis genannt, es ist eine Möglichkeit für uns, schnell Listen mit Python zu erstellen, anstatt Schleifen zu durchlaufen
und append oder Dinge zu verwenden, die wir zuvor gesehen haben.
Es ist also eine Kurzform für uns, solche einzigartigen Dinge zu tun.
Wir können dies tun, indem wir hier einen Ausdruck dafür haben, was wir mit jedem Element tun möchten, über
das wir iterieren, wir durchlaufen eine Schleife.
Mit einer for-Schleife durch unhittable geben wir ihr eine Variable, auf die wir reagieren werden, und
wenn wir wollen, haben wir auch die Möglichkeit, eine Bedingung hinzuzufügen und sagen, hey, nur basierend auf dieser Bedingung in die Liste aufgenommen
, basierend auf einem wahr oder falsch.
Sehr, sehr cool jetzt, obwohl Listenverständnisse wirklich nett sind, weil sie nur einfache Einzeiler
sind, kann es ziemlich verwirrend werden.
Wenn Sie sich diesen Code ansehen, müssen Sie mit dem Listenverständnis wirklich vertraut sein, um wirklich zu verstehen, was vor
sich geht.
Das macht den Code zwar kürzer, vielleicht sogar sauberer, nimmt aber ein wenig seiner Lesbarkeit.
Daher ist es möglicherweise besser, einfach eine beschreibende Funktion zu erstellen, z. B. eine Liste mit geraden Zahlen oder etwas in diese
Richtung zu generieren.
Es ist also anschaulicher.
Und ein anderer Entwickler könnte eine bessere Vorstellung davon haben, was vor sich geht.
Es ist also immer ein Kompromiss.
Lassen Sie uns eine Pause einlegen und im nächsten Video von Set- und Wörterbuchverständnis sprechen.