Bon retour, je veux vous parler de certaines fonctions utiles que nous obtenons et qui nous permettent en fait
de penser dans un paradigme de programmation fonctionnelle.
Le nom de ces fonctions est filtre de carte.
Zipp.
Et réduire dans ce sont des fonctions très, très utiles et très courantes que vous écrirez beaucoup lorsque vous serez un
programme Python.
Alors explorons-les.
Tout d'abord, nous allons commencer par MAP.
Et map nous permet en fait de simplifier le code que nous avons ici de multiplier par deux.
Vous voyez, avec les mathématiques, je l'ai disponible en tant que fonction, en tant que fonction intégrée, et
nous voyons ici que nous donnons une fonction au premier paramètre, puis le deuxième paramètre est un itérable.
Une bonne façon d'y penser est que nous voulons prendre une sorte d'action ici.
Donc une fonction et ensuite les données sur lesquelles nous voulons agir.
Disons donc dans notre cas, un, deux, trois.
Alors, quelle action voulons-nous entreprendre?
Un deux trois.
Eh bien, nous voulons multiplier par deux, alors disons multiplier.
Par deux.
Maintenant, je dois déplacer cela vers le bas car nous devons d'abord définir la fonction.
Et lancez-le comme ça, donc au lieu d'imprimer ceci, faisons-le.
Imprimer.
Comme ça, si je le lance.
J'obtiens un objet map à cet emplacement mémoire.
Et map nous donne automatiquement cet objet qu'il a créé dans cette mémoire.
Donc, pour que nous puissions réellement le voir, nous devons le transformer en une liste comme celle-ci.
Donc si je lance ça.
Il dit en ligne que l'objet int n'est pas itérable, eh bien, c'est parce qu'avec MAP, nous n'avons plus besoin
de faire cette création d'une liste puis de l'ajouter à une liste.
Vous voyez, ce qui est bien avec MAP, c'est que je lui donne des données, puis ces données sont exploitées par
cela.
Et tout ce que nous devons faire avec la fonction map est d'avoir une fonction qui retourne.
Cette partie, Eitam fois deux, donc au lieu d'avoir tout ce code, tout ce que nous avons à faire est de dire retour.
Temps d'article à.
Modifions donc ce paramètre en item.
Et regardez le code un peu plus en détail.
Donc, avec la carte, je dis, hé, je veux que vous exécutiez la fonction, multipliez par deux, remarquez ici que je n'ai même
pas les crochets parce que je n'ai pas besoin de l'appeler une carte.
Est-ce pour moi?
La carte dit juste, hé, donne-moi juste la fonction, je m'occupe du reste.
Je n'appelle donc pas la fonction ici.
La carte va appeler la fonction pour moi.
Je dis juste, hé, quand j'appelle map comme ça.
Je veux que vous utilisiez cette fonction à cette adresse mémoire et que vous utilisiez ces données.
Vous vous souvenez de notre paradigme de programmation fonctionnelle ?
Nous avons des données sur lesquelles on agit, donc nous séparons ces deux.
Maintenant, cette fonction va prendre chacun des éléments de nos mangeables, dans notre cas, la première fois, l'élément sera
un, puis deux, puis trois.
Et puis tout ce que nous avons à faire est de retourner l'effet que nous voulons avoir sur cet élément.
Dans notre cas, il s'agit de le faire en faisant cette carte exécute automatiquement cette fonction pour nous et parcourt tous
les éléments de l'itérable et renvoie pour nous un nouvel objet de carte que nous allons convertir en
liste si je l'exécute.
J'en reçois deux, quatre, six.
Maintenant, voici la partie intéressante, si je le fais, disons ma liste et je dis un, deux, trois.
Et j'ai changé ma liste ici.
Comme ça et à la fin, j'imprime aussi ma liste si je clique sur exécuter.
Vous verrez que ma liste n'a pas changé.
Rappelles toi?
Une fonction pure est une fonction qui n'affecte pas le monde extérieur de cette manière, map nous permet de créer une
toute nouvelle liste.
Cela ne modifie pas ma liste.
Donc ma liste est immuable, non ?
Nous ne le modifions pas et tout ce qu'il fait est une fonction de carte, s'en occupe et renvoie une nouvelle liste pour nous.
Mais nous n'affectons pas le monde extérieur.
Il n'y a pas d'effets secondaires dans cette fonction.
Nous multiplions simplement élément à élément par deux en créant une nouvelle liste à partir de cela.
Et chaque fois que nous lui donnons la même entrée, il en résultera la même sortie.
Très, très cool et la carte est extrêmement utile car chaque fois que nous avons quelque chose sur lequel nous
pouvons itérer et que nous voulons changer, disons que nous avons des e-mails ou des noms d'utilisateur et que nous devons mettre à jour les noms
d'utilisateur, disons, être en majuscule .
Dans ce cas, nous pouvons itérer et en utilisant la fonction mathématique, changer tous les noms d'utilisateurs de notre liste en, disons,
la carte des lettres majuscules sera l'une de ces fonctions que vous utilisez beaucoup dans votre carrière de programmeur.
Et j'espère que vous pouvez voir ici à quel point c'est propre et agréable, encore une fois, en utilisant des paradigmes de programmation fonctionnelle.
Passons au suivant.
Parlons ensuite du filtre.