‫Parlons de la dernière réduction, et celle-ci est un peu avancée et peut être un peu difficile à appréhender au début, mais
‫il est bon de savoir qu'elle existe et vous pouvez en apprendre plus en la pratiquant et en
‫lisant de la documentation sur le tien.
‫Maintenant, reduce ne fait pas partie de la fonction intégrée de python.
‫Pour que nous puissions utiliser réduire, nous devons faire quelque chose comme ça.
‫Maintenant, vous n'avez jamais vu cela auparavant et c'est quelque chose que nous allons aborder dans la section modules
‫du cours.
‫Mais essentiellement, ce qui se passe ici, c'est lorsque nous avons téléchargé Python Interpreter et le package Python, dans
‫notre cas, ce Reppel le fait déjà pour nous.
‫Nous pouvons importer quelque chose à partir de ces photos.
‫Et les outils func sont ce que nous appelons une ceinture à outils que nous pouvons utiliser pour les outils fonctionnels fournis avec l'installation
‫de Python.
‫Et à partir de là, il y a une fonction spécifique que nous pouvons importer.
‫Donc, je dis, hé, à partir des outils func de cette ceinture à outils, je veux que vous importiez la fonction de réduction afin que
‫nous puissions l'utiliser à nouveau dans notre code, quelque chose que nous couvrirons plus tard dans le cours.
‫Donc pour l'instant, copiez et collez simplement cette ligne.
‫Ensuite, supprimons une partie de notre liste et utilisons ici reduce.
‫Maintenant, avec reduce, nous allons avoir besoin de quelques petites choses.
‫D'abord.
‫Nous avons besoin de la fonction.
‫Et puis nous avons besoin de la séquence ou des données.
‫Alors quelle va être la fonction, tout d'abord, nos données seront notre ma liste, donc je vais
‫dire ma liste et la fonction réduite nous permet de faire quelque chose d'intéressant.
‫Je peux lui donner, disons, une fonction.
‫Et cette fonction, nous l'appellerons l'accumulateur.
‫Et l'accumulateur prend deux paramètres, et rappelez-vous, cela va être appelé par reduce, donc reduce va être chargé
‫de donner ces deux paramètres à partir des données que nous lui donnons, qui sont
‫ma liste.
‫Le premier paramètre va être ce que nous appelons l'accumulation, ou dans mon cas, l'Axi.
‫Et puis voici l'article.
‫Maintenant, là où cela devient vraiment intéressant, c'est que lorsque nous transmettons pour la première fois ma liste à partir de la réduction, nous obtenons le
‫premier élément.
‫Le premier élément sera dans ce paramètre.
‫Cependant, quel est cet axe au départ ?
‫Eh bien, si je supprime simplement les crochets ici.
‫Et donc vous réduisez vous voyez que nous avons la fonction.
‫La séquence, qui dans notre cas sera notre liste, puis l'initiale et l'initiale est ce que va être
‫l'accumulateur.
‫Donc encore une fois, disons que nous allons avoir la fonction d'accumulateur que nous n'allons pas encore
‫appeler.
‫Réduire va le faire pour nous.
‫Je vais lui donner la liste.
‫Ou les données que nous voulons parcourir et ensuite je vais lui donner une valeur initiale de zéro.
‫Nous en avons donc trois.
‫Paramètres ici ou trois arguments que nous lui donnons.
‫Permettez-moi de fermer les parenthèses où vous agrandissez un peu cela ici et assurez-vous que je peux épeler.
‫Maintenant, ici, le premier élément sera le premier élément de ma liste.
‫Et puis l'accumulateur va passer par défaut à zéro si nous ne lui donnons rien ou dans notre cas, nous avons
‫dit que l'accumulateur va être à zéro.
‫Donc, la première chose que nous allons faire est de retourner l'accumulateur plus l'article.
‫OK, alors allons-y un par un.
‫Je vais en fait imprimer ici l'accumulateur et l'élément juste pour que nous puissions voir, puis je vais exécuter
‫ce code.
‫La ligne 15 dans l'objet n'est pas itérable.
‫Et c'est un peu délicat, mais en fait nous n'avons plus besoin de la liste parce que reduce va faire quelque
‫chose d'intéressant pour nous.
‫Alors supprimons cela pour l'instant et renvoyons simplement ce que la réduction nous donne.
‫Et l'impression si je clique, cours.
‫Regarde ça.
‫D'accord, alors qu'est-ce qui vient de se passer ?
‫Regardons.
‫Réduire.
‫Nous permet de réduire quelque chose, une sorte de valeur de l'itérable que nous lui donnons.
‫Alors allons-y étape par étape.
‫Nous avons ma liste et ma liste va être appliquée à l'accumulateur via réduit.
‫L'accumulateur va prendre ma liste.
‫Et la première chose qu'il va faire lors du premier passage va dire, hé, que va être mon accumulateur
‫?
‫Je vais le remettre à zéro.
‫Ainsi, le premier accumulateur de passage sera nul.
‫Un élément va en être un, c'est ce que nous voyons ici.
‫Et nous allons l'ajouter zéro plus un.
‫Alors maintenant, nous en avons retourné un.
‫Maintenant, la deuxième passe à.
‫Que va-t-il se passer le deuxième passage dans l'accumulateur va être quoi, ce retour ?
‫Ainsi, le prochain passage à tout ce qui est renvoyé sera rempli dans l'accumulateur, donc dans notre
‫cas, zéro plus un sera un.
‫Un élément sera deux, un plus deux va être trois, donc un plus deux égale trois.
‫Donc, la prochaine fois, l'accumulateur sera de trois.
‫Et pendant que nous traverserons, il y en aura aussi trois, comme vous pouvez le voir ici.
‫Et trois plus trois font six.
‫Nous venons d'accumuler toutes ces valeurs et d'en renvoyer une seule.
‫Numéro six, nous avons réduit notre liste en une sorte de données que nous avons manipulées en utilisant dans notre cas,
‫l'accumulateur.
‫Mais j'aurais pu faire tout ce que je voulais ici.
‫Donc, si, par exemple, je change ce paramètre pour qu'il ne soit pas égal à 10, que pensez-vous qu'il se passera si je clique sur Exécuter ?
‫J'obtiens 16 parce que j'ai commencé mon accumulateur initial avec 10, donc c'était 10 plus un alors, et ainsi de suite.
‫Réduit maintenant vraiment, vraiment puissant parce que vous pouvez faire beaucoup de choses avec.
‫C'est vraiment très flexible.
‫Et en fait, sous le capot, des fonctions telles que Map Filter utilisent en fait cette réduction sous le capot afin que vous puissiez
‫réellement créer votre propre carte et fonction de filtre à l'aide de reduce.
‫Encore une fois, réduire est un peu difficile à comprendre au début, et il faut un peu de pratique pour
‫vraiment l'utiliser.
‫Mais c'est l'une de ces choses que les programmeurs avancés aiment vraiment, vraiment et que vous verrez de plus en plus tout au long
‫de votre carrière au fur et à mesure que vous vous améliorerez.
‫Je te verrai dans le prochain.
‫Bye Bye.