‫Laten we het hebben over de laatste vermindering, en dit is een beetje geavanceerd en in het begin misschien een beetje moeilijk te begrijpen, maar
‫het is goed om te weten dat het bestaat en je kunt er meer over leren door het te oefenen
‫en wat documentatie te lezen op je eigen.
‫Nu, verminderen komt niet als onderdeel van de ingebouwde functie van python.
‫Om ervoor te zorgen dat we reduce gebruiken, moeten we zoiets doen.
‫Je hebt dit nog nooit eerder gezien en dit is iets waar we op in gaan in het modulegedeelte van
‫de cursus.
‫Maar wat hier in wezen gebeurt, is wanneer we Python Interpreter en het Python-pakket hebben gedownload, in ons
‫geval doet deze Reppel het al voor ons.
‫We kunnen iets van deze foto's importeren.
‫En func-tools zijn wat we een gereedschapsriem noemen die we kunnen gebruiken voor functionele tools die bij de Python-installatie
‫worden geleverd.
‫En van daaruit is er een specifieke functie die we kunnen importeren.
‫Dus ik zeg, hey, van func-tools van deze toolbelt, ik wil dat je de reduce-functie importeert, zodat we deze opnieuw
‫in onze code kunnen gebruiken, iets dat we later in de cursus zullen behandelen.
‫Dus voor nu, kopieer en plak deze regel gewoon.
‫Laten we vervolgens een deel van onze lijst verwijderen en hier verminderen gebruiken.
‫Nu, met verminderen, hebben we een paar dingen nodig.
‫Eerst.
‫We hebben de functie nodig.
‫En dan hebben we de reeks of de gegevens nodig.
‫Dus wat de functie zal zijn, allereerst, onze gegevens zullen onze mijn lijst zijn, dus ik ga
‫mijn lijst zeggen en de verminderde functie stelt ons in staat iets interessants te doen.
‫Ik kan het, laten we zeggen, een functie geven.
‫En deze functie noemen we de accumulator.
‫En de accumulator neemt twee parameters, en onthoud, dit wordt door reduce aangeroepen, dus reduce zal verantwoordelijk zijn
‫voor het geven van deze twee parameters uit de gegevens die we het geven, wat
‫mijn lijst is.
‫De eerste parameter wordt wat we de accumulatie noemen, of in mijn geval de Axi.
‫En dan is hier het item.
‫Nu, waar het echt interessant wordt, is dat wanneer we voor het eerst mijn lijst van de reductie passeren, we het eerste
‫item krijgen.
‫Het eerste item bevindt zich in deze parameter.
‫Maar wat is deze as in eerste instantie?
‫Als ik de haakjes hier maar weghaal.
‫En zo verklein je je ziet dat we de functie hebben.
‫De volgorde, die in ons geval onze lijst zal zijn en dan de initiaal en initiaal, is wat de accumulator zal
‫zijn.
‫Dus nogmaals, laten we zeggen dat we de accumulatorfunctie gaan hebben die we nog niet gaan
‫aanroepen.
‫Dat gaat Reduce voor ons doen.
‫Ik ga het de lijst geven.
‫Of de gegevens die we willen herhalen en dan geef ik het een beginwaarde van nul.
‫We hebben er dus drie.
‫Parameters hier of drie argumenten die we eraan geven.
‫Laat me de haakjes sluiten waar je dit hier een beetje groter maakt en ervoor zorgen dat ik kan spellen.
‫Nu, hier, zal het eerste item het eerste item in mijn lijst zijn.
‫En dan gaat de accumulator standaard naar nul als we hem niets geven of in ons geval, we hebben
‫gezegd dat de accumulator nul wordt.
‫Dus het eerste dat we gaan doen, is dat we de accu plus het item teruggeven.
‫Oké, laten we dit één voor één doornemen.
‫Ik ga hier de accumulator en het item afdrukken zodat we het kunnen zien en dan ga ik deze
‫code uitvoeren.
‫Regel 15 in object is niet itereerbaar.
‫En dit is een beetje lastig, maar we hebben de lijst eigenlijk niet meer nodig omdat reduce iets interessants voor
‫ons gaat doen.
‫Dus laten we dit voor nu verwijderen en gewoon teruggeven wat verminderd ons geeft.
‫En de afdruk als ik klik, ren.
‫Moet je zien.
‫Oké, wat is er net gebeurd?
‫Laten we eens kijken.
‫Verminderen.
‫Stelt ons in staat om iets te verminderen, een soort waarde van de iterabele die we eraan geven.
‫Laten we dus stap voor stap gaan.
‫We hebben mijn lijst en mijn lijst zal worden toegepast op de accumulator door middel van verminderd.
‫De accumulator gaat mijn lijst innemen.
‫En het eerste wat het gaat doen in de eerste doorgang is, hé, wat wordt mijn
‫accumulator?
‫Ik ga het op nul zetten.
‫Dus de eerste pass-through-accu wordt nul.
‫Een item wordt er een, en dat is wat we hier zien.
‫En we gaan het nul plus één optellen.
‫Dus nu hebben we er een teruggestuurd.
‫Nu, de tweede doorgang naar.
‫Wat gaat er gebeuren als de tweede keer door de accumulator gaat, wat zal deze terugkeer zijn?
‫Dus de volgende keer dat dit wordt geretourneerd, wordt in de accumulator ingevuld, dus in ons geval
‫is nul plus één één.
‫Een item is twee, één plus twee wordt drie, dus één plus twee is drie.
‫Dus de volgende keer is de accumulator drie.
‫En terwijl we er doorheen gaan, zullen er ook drie zijn, zoals je hier kunt zien.
‫En drie plus drie is zes.
‫We hebben zojuist al deze waarden verzameld en één enkele geretourneerd.
‫Nummer zes, we hebben onze lijst teruggebracht tot een soort gegevens die we hebben gemanipuleerd met in ons geval de
‫accumulator.
‫Maar ik had hier alles kunnen doen wat ik wilde.
‫Dus als ik dit bijvoorbeeld verander in niet gelijk aan 10, wat denk je dat er zal gebeuren als ik op uitvoeren klik?
‫Ik krijg 16 omdat ik mijn eerste accu met 10 begon, dus het was toen 10 plus één, enzovoort, enzovoort.
‫Nu vermindert echt, echt krachtig omdat je er een heleboel dingen mee kunt doen.
‫Het is echt heel flexibel.
‫En eigenlijk onder de motorkap gebruiken functies zoals Map Filter deze reductie onder de motorkap, zodat je je
‫eigen kaart en filterfunctie kunt bouwen met behulp van reduce.
‫Nogmaals, verminderen is in het begin een beetje moeilijk te begrijpen, en het vergt wat oefening om het echt te
‫gebruiken.
‫Maar het is een van die dingen waar gevorderde programmeurs echt van houden en waar je tijdens je carrière steeds
‫meer van zult zien naarmate je beter en beter wordt.
‫Ik zie je in de volgende.
‫Tot ziens.