Parlons de quelque chose qui est assez unique à Python et qui rend les choses vraiment, vraiment agréables en tant que programmeurs
Python, et cela s'appelle la compréhension, c'est l'un de nos termes clés.
Compréhensions.
Que sont-ils?
Eh bien, on les appelle en fait des compréhensions de liste ou des compréhensions d'ensemble ou des compréhensions de dictionnaire.
Et ce sont quelques-uns des types de données que nous avons en Python.
Et nous sommes capables d'utiliser des compréhensions avec ces trois types de données, au fait, pendant que j'enregistre, il y a
des oiseaux qui gazouillent en arrière-plan.
J'ai pensé que ce serait bien de juste enregistrer les gazouillis des oiseaux en arrière-plan.
Je pense que ce sera paisible pour vous si vous vous fâchez.
Je suis désolé, mais bon, les oiseaux aussi doivent s'amuser.
OK, alors quelles sont ces compréhensions ?
Eh bien, c'est un moyen rapide pour nous de créer des listes, des ensembles ou un dictionnaire en Python au lieu de peut-être
boucler ou ajouter un tas d'éléments à des listes.
Alors laissez-moi vous montrer, au lieu de faire quelque chose comme ma liste équivaut à une liste vide, et à partir de
là, je ferai quelque chose comme quatre caractères dans Hello.
Mon point de liste s'ajoutent.
Personnage.
Juste pour que je puisse enfin créer cette liste, disons ma liste et nous l'imprimerons.
Si je clique, cours.
J'ai créé une liste qui contient les caractères de Hello.
D'accord, mais.
Existe-t-il un moyen plus rapide et plus propre de le faire et oui, il y en a avec moins de compréhension en Python.
Encore une fois, c'est assez unique.
Vous ne le voyez pas dans beaucoup de langages de programmation, mais les personnes qui utilisent Python aiment vraiment cette fonctionnalité, et
moi aussi.
Alors, comment pouvons-nous faire cela en utilisant une compréhension de liste ?
Eh bien, le format que nous allons suivre est le suivant.
Nous allons dire Perram.
Pour.
Perram dans itérable.
Donc, quand je dis Perram, je veux dire paramètre, ou dans notre cas, cela pourrait être une variable, donc nous pouvons la nommer
comme nous voulons.
Alors nommons ce personnage comme nous l'avons fait ici, puis le personnage comme nous l'avons fait ici.
Et puis on veut un itérable dans notre cas qui dira bonjour.
Donc, si je supprime cela et que je clique sur exécuter.
J'obtiens la même chose juste comme ça, donc lors de Creation Online trois, je crée une liste qui contient le caractère
dans Hello, je fais une boucle for ici et je crée la liste.
Donc, la façon dont j'aime y penser est, hé, créez une variable,
puis nous allons faire une boucle for en disant, hé, pour chaque variable de l'itérable ajoutée à la liste.
OK, développons cela, disons que je voulais faire autre chose, appelons ça ma liste aussi, et je
veux créer, disons, une liste rapide avec des nombres allant de zéro à cent ou de zéro à quatre vingt dix
neuf.
Comment ferais-je pour recommencer ?
En utilisant une compréhension de liste, je dirai le numéro quatre, puis quel est l'itérable que je vais utiliser ?
Eh bien, je vais utiliser une plage et dire de zéro à 100 afin que si je clique sur exécuter ici.
Regardez ça, j'obtiens une belle longue liste, assez peuplée de tous ces chiffres.
À quel point cela est cool?
D'ACCORD.
Mais voici mon défi pour vous.
Et si je voulais ça, mais que tous les nombres devraient être multipliés par deux.
Je veux donc une liste où cela équivaut à zéro.
C'est deux.
C'est quatre.
C'est six.
Il est huit heures.
Il est dix heures.
Etc., etc.
Comment puis-je le faire?
Eh bien, nous pouvons en fait développer cela afin que ma liste trois cette fois-ci utilise la même boucle for que nous
avons vue auparavant.
Comme ça, mais au lieu de simplement la variable, c'est maintenant une expression de la façon dont nous voulons agir sur chaque caractère,
tout comme nous l'avons vu dans les expressions lambda.
Je peux donc maintenant dire des temps engourdis à.
Pour.
Ces objets.
Alors maintenant, si je fais ma liste trois.
Hé, regarde ça.
C'est plutôt sympa, n'est-ce pas ?
OK, rendons-le encore plus difficile, disons, Miles trois, et rendons cela un peu plus grand
ici.
Ma liste car je veux la changer pour que dans ma liste, je garde toujours ici ce que j'ai les nombres, mais je veux ne garder
que les nombres pairs.
Dans ce cas, ils sont tous pairs parce qu'ils sont multipliés par deux, mais si, par exemple, nous le
faisons à la puissance deux et commentons-le pendant une seconde et cliquez sur Exécuter.
Nous voyons que certains chiffres ne le sont pas.
Malgré tout, je veux garder ces chiffres, mais seulement les pairs, comment ferais-je?
Eh bien, dans ce cas, nous avons une nouvelle façon de créer cette expression, nous ferons exactement la même chose que nous avons
faite ici.
Alors je vais juste copier ça.
Mais à la fin, rappelez-vous, nous avons maintenant une expression ici, quelque chose que nous allons faire pour affecter
quel que soit l'élément de l'itérable.
Nous allons parcourir les choses en boucle et finalement après cela, nous pouvons dire si ou nous pouvons faire une condition si.
Alors disons dans notre cas, je dirai si num.
Modulo deux est égal à zéro, seulement ensuite ajouté à la liste.
Alors si on clique, cours.
Eh bien, et assurez-vous que c'est moins pour le clic.
Regardez ça, ce sont tous des nombres pairs, alors regardons ce format.
Rappelles toi?
C'est ce qu'on appelle des compréhensions de liste, c'est un moyen pour nous de créer rapidement des listes avec Python au lieu de
boucler et d'utiliser des ajouts ou des choses que nous avons déjà vues.
C'est donc une forme abrégée pour nous de faire des choses uniques comme celle-ci.
La façon dont nous pouvons le faire est d'avoir une expression ici de ce que nous voulons faire avec chaque élément sur
lequel nous itérons, nous faisons une boucle.
En utilisant une boucle for unhittable, nous lui donnons une variable sur laquelle nous allons agir, puis si
nous le voulons, nous avons également la possibilité d'ajouter une condition et de dire, hé, uniquement inclus dans la liste en fonction de cette condition ,
basé sur un vrai ou un faux.
Très, très cool maintenant, bien que les compréhensions de liste soient vraiment agréables parce qu'elles ne sont que
de simples doublures, cela peut devenir assez déroutant.
En regardant ce code, vous devez être vraiment familiarisé avec les compréhensions de liste pour vraiment comprendre ce qui
se passe.
Ainsi, bien que cela rende le code plus court, peut-être même plus propre, cela enlève un peu de sa lisibilité.
Il serait donc peut-être préférable de simplement créer une fonction descriptive comme générer une liste de nombres pairs ou quelque
chose du genre.
C'est donc plus descriptif.
Et un autre développeur pourrait avoir une meilleure idée de ce qui se passe.
C'est donc toujours un compromis.
Faisons une pause et parlons de la compréhension des ensembles et du dictionnaire dans la prochaine vidéo de.