‫Lassen Sie uns über das letzte Reduzieren sprechen, und das ist ein bisschen fortgeschritten und es mag anfangs etwas schwer zu verstehen sein,
‫aber es ist gut zu wissen, dass es existiert und Sie können mehr darüber erfahren, indem Sie es
‫üben und einige Dokumentationen zu lesen dein eigenes.
‫Jetzt ist Reduce nicht Teil der eingebauten Python-Funktion.
‫Damit wir Reduce verwenden können, müssen wir so etwas tun.
‫Das haben Sie noch nie zuvor gesehen und darauf werden wir im Modulteil des Kurses
‫eingehen.
‫Aber im Wesentlichen passiert hier, als wir Python Interpreter und das Python-Paket heruntergeladen haben, in unserem Fall
‫erledigt dieser Reppel dies bereits für uns.
‫Wir können etwas von diesen Fotos importieren.
‫Und func tools nennen wir einen Werkzeuggürtel, den wir für funktionale Werkzeuge verwenden können, die mit der Python-Installation
‫geliefert werden.
‫Und von dort aus gibt es eine bestimmte Funktion, die wir importieren können.
‫Ich sage also, hey, von den func-Tools aus diesem Toolbelt möchte ich, dass Sie die Reduce-Funktion importieren, damit wir sie
‫wieder in unserem Code verwenden können, was wir später im Kurs behandeln werden.
‫Kopieren Sie diese Zeile vorerst einfach und fügen Sie sie ein.
‫Als nächstes entfernen wir einen Teil unserer Liste und verwenden hier Reduce.
‫Jetzt, mit Reduzieren, werden wir ein paar Dinge brauchen.
‫Zuerst.
‫Wir brauchen die Funktion.
‫Und dann brauchen wir die Sequenz oder die Daten.
‫Also, was wird die Funktion sein, zuallererst, unsere Daten werden unsere Liste sein, also sage ich
‫meine Liste und die reduzierte Funktion ermöglicht es uns, etwas Interessantes zu tun.
‫Ich kann ihm, sagen wir, eine Funktion geben.
‫Und diese Funktion nennen wir den Akkumulator.
‫Und der Akkumulator nimmt zwei Parameter, und denken Sie daran, dass dies von Reduce aufgerufen wird, also wird Reduce
‫dafür verantwortlich sein, diese beiden Parameter aus den Daten, die wir ihm geben, zu geben, was
‫meine Liste ist.
‫Der erste Parameter wird die Akkumulation oder in meinem Fall die Axi sein.
‫Und dann wird hier der Artikel sein.
‫Nun, wo es wirklich interessant wird, ist, dass wir, wenn wir meine Liste zum ersten Mal aus dem Reduzieren bestehen, das erste
‫Element erhalten.
‫Das erste Element befindet sich in diesem Parameter.
‫Aber was ist diese Achse zunächst?
‫Nun, wenn ich hier nur die Klammern entferne.
‫Und damit Sie reduzieren sehen Sie, dass wir die Funktion haben.
‫Die Sequenz, die in unserem Fall unsere Liste ist, und dann die Initiale und die Initiale, wird der Akkumulator
‫sein.
‫Nehmen wir also noch einmal an, dass wir die Akkumulatorfunktion haben werden, die wir noch nicht aufrufen
‫werden.
‫Reduce wird das für uns tun.
‫Ich gebe ihm die Liste.
‫Oder die Daten, über die wir iterieren möchten, und dann gebe ich ihnen einen Anfangswert von Null.
‫Wir haben also drei.
‫Parameter hier oder drei Argumente, die wir ihm geben.
‫Lassen Sie mich die Klammern schließen, in denen Sie das hier etwas größer machen, und stellen Sie sicher, dass ich buchstabieren kann.
‫Hier drin ist das erste Element das, was das erste Element in meiner Liste ist.
‫Und dann wird der Akkumulator standardmäßig auf Null gesetzt, wenn wir ihm nichts geben oder in unserem Fall haben wir
‫gesagt, dass der Akkumulator Null sein wird.
‫Das erste, was wir tun werden, ist, Akkumulator plus Artikel zurückzugeben.
‫OK, also gehen wir das nacheinander durch.
‫Ich werde hier tatsächlich den Akkumulator und das Element ausdrucken, nur damit wir es sehen können, und dann werde ich
‫diesen Code ausführen.
‫Zeile 15 in das Objekt ist nicht iterierbar.
‫Und das ist ein bisschen knifflig, aber wir brauchen die Liste eigentlich nicht mehr, weil Reduce etwas Interessantes für
‫uns tun wird.
‫Also lasst uns dies erst einmal entfernen und einfach alles zurückgeben, was uns reduziert gibt.
‫Und der Druck, wenn ich klicke, läuft.
‫Sieh dir das an.
‫In Ordnung, also was ist gerade passiert?
‫Werfen wir einen Blick.
‫Reduzieren.
‫Ermöglicht es uns, etwas zu reduzieren, eine Art Wert aus dem Iterierbaren, das wir ihm geben.
‫Gehen wir also Schritt für Schritt vor.
‫Wir haben meine Liste und meine Liste wird auf den Akkumulator durch reduziert angewendet.
‫Der Akku wird meine Liste übernehmen.
‫Und das erste, was es beim ersten Durchlauf tun wird, ist, zu sagen, hey, was wird mein Akkumulator
‫sein?
‫Ich werde es auf Null setzen.
‫Der erste Durchgang durch den Akkumulator wird also Null sein.
‫Ein Gegenstand wird einer sein, was wir hier sehen.
‫Und wir werden null plus eins hinzufügen.
‫So, jetzt haben wir einen zurückgegeben.
‫Nun zum zweiten Durchgang.
‫Was wird passieren, der zweite Durchgang durch den Akkumulator wird was sein, diese Rückkehr?
‫Der nächste Durchgang zu dem, was auch immer zurückgegeben wird, wird also in den Akkumulator gefüllt, sodass in unserem
‫Fall Null plus Eins Eins ist.
‫Ein Element ist zwei, eins plus zwei wird drei sein, also eins plus zwei gleich drei.
‫Das nächste Mal wird der Akku also drei sein.
‫Und während wir durchkommen, werden es auch drei sein, wie Sie hier sehen können.
‫Und drei plus drei ist sechs.
‫Wir haben gerade all diese Werte gesammelt und einen einzigen zurückgegeben.
‫Nummer sechs, wir haben unsere Liste auf eine Art von Daten reduziert, die wir in unserem Fall mit dem Akkumulator manipuliert
‫haben.
‫Aber ich hätte hier alles machen können, was ich wollte.
‫Wenn ich dies beispielsweise auf ungleich 10 ändere, was denkst du passiert, wenn ich auf Ausführen klicke?
‫Ich bekomme 16, weil ich meinen anfänglichen Akkumulator mit 10 begonnen habe, also waren es dann 10 plus eins, so weiter und so
‫fort.
‫Reduziert jetzt wirklich sehr stark, weil man damit vieles anstellen kann.
‫Es ist wirklich sehr flexibel.
‫Und tatsächlich unter der Haube verwenden Funktionen wie der Kartenfilter diese Reduzierung unter der Haube, sodass Sie mit
‫der Reduzierung Ihre eigene Karten- und Filterfunktion erstellen können.
‫Auch hier ist Reduce anfangs etwas schwer zu verstehen, und es braucht ein wenig Übung, um es wirklich zu
‫benutzen.
‫Aber es ist eines dieser Dinge, die fortgeschrittene Programmierer wirklich lieben und von denen Sie im Laufe Ihrer Karriere
‫immer mehr sehen werden, während Sie immer besser werden.
‫Wir sehen uns im nächsten.
‫Tschüss.