- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :J'aime bien commencer avec un contre-exemple pour vous montrer comment faire sans les compréhensions de liste,pour pouvoir vous montrer après avec les compréhensions de liste,et que vous puissiez bien voir entre les deux l'avantage de la liste comprehension.
00:00:13 :J'ai une liste en entrée, 1, 2, 3, 4, 5.Si je veux doubler chaque élément de la liste sans les compréhensions de liste,je vais créer une deuxième liste, que je vais appeler liste double, qui va être vide au départ.
00:00:26 :Je vais boucler dans ma liste, et pour chaque itération, je vais ajouter i multiplié par 2,et je vais l'ajouter directement dans la liste double.
00:00:35 :Si je veux ensuite mettre le résultat de cette liste double à l'intérieur de ma liste originale,je vais devoir faire liste égale liste double.Bien faire attention ici, pour le coup j'ai utilisé un splice.
00:00:45 :On pourrait utiliser aussi la fonction liste comme ceci.Alors pourquoi c'est très important ?Puisque si je fais tout simplement ça ici, que j'assigne liste double dans liste,vous allez voir que ça va être la même liste.
00:00:57 :En fait, si je print le ID de liste et le ID de liste double, vous allez vous en rendre compte à la fin.Là on a bien 2, 4, 6, 8, qui sont donc i multiplié par 2.
00:01:07 :Et si vous regardez l'ID, vous voyez que sans faire un splice ou sans utiliser la fonction liste,on se retrouve exactement avec la même liste ici.
00:01:14 :Donc ça veut dire que là, si j'ajoute des éléments dans liste double,ils vont se retrouver également dans ma variable liste ici.Donc bien faire attention à ça.
00:01:22 :Si je mets un splice ici, comme ceci, avec les deux points,et que j'exécute le script, là vous voyez que l'ID est différent.Donc on a bien 2 listes différentes.
00:01:31 :Vous voyez tout le code qu'on a besoin d'écrire pour multiplier les éléments d'une liste par 2.Donc ça fait beaucoup de lignes de code juste pour ça.
00:01:38 :Je vais vous montrer tout de suite, avec les compréhensions de liste,à quel point tout ça va tenir en une seule ligne.Donc voici un premier exemple de l'utilisation des compréhensions de listepour faire la même chose que ce qu'on vient de faire précédemment.
00:01:50 :Donc là vous voyez que ça tient en une seule ligne,et que la beauté de tout ça, c'est que vu que ça tient en une seule ligne,on peut réassigner cette liste dans la même liste que l'on avait au départ.
00:01:59 :Donc là je déclare une liste avec 5 valeurs ici,et ensuite je remets le résultat de cette compréhension de liste à l'intérieur de cette variable liste ici.
00:02:07 :Donc je fais l'opération i x 2 pour i in liste.Donc c'est la même syntaxe que ce qu'on a vu dans la première partie,sur les définitions et syntaxes des listes comprehension.
00:02:17 :Donc là, i x 2 pour i in liste.Donc si je fais un print de ça, on se retrouve avec 2, 4, 6, 8, 10.
00:02:22 :Donc chaque élément ici qui est tout simplement multiplié par 2.Donc vous voyez à quel point c'est vraiment très très simple.On va voir maintenant un exemple avec un if, donc ici.
00:02:32 :Alors même liste au départ, 1, 2, 3, 4, 5.Sauf que cette fois-ci, on va dire i x 2 pour i in liste,si i modulo 2 égale égale 0.
00:02:42 :Donc ça c'est quelque chose qu'on utilise souvent.i modulo 2 égale égale 0, ça va prendre uniquement les nombres qui vont être pairs,puisque ça veut dire que la division du nombre par 2 ne va pas donner de reste.
00:02:52 :Donc si on divise 3 par 2, on va avoir un reste.Si on divise 5 par 2, on va avoir un reste.Par contre si on divise 2 par 2 ou 4 par 2, ça va faire précisément 2 et 1.
00:03:02 :Donc 1 pour 1 x 2 et 2 x 2, 4.Donc si j'exécute cette fois-ci le script,là vous voyez qu'on se retrouve uniquement avec 4 et 8,puisque tous les nombres impairs vont avoir été épargnés par cette compréhension de liste.
00:03:13 :Donc les nombres 1, 3 et 5 ne seront pas contenus dans ma liste finale.Les nombres 2 et 4 par contre vont être tout simplement multipliés par 2.
00:03:20 :Donc voilà pour une liste comprehension avec un if.Donc là vous voyez que dans la syntaxe comme on avait vu dans la première partie,le if se retrouve à la fin.
00:03:29 :Donc on commence avec l'expression, donc i x 2 pour i in liste.Donc là ça nous permet de récupérer la variable i.Et ensuite on dit si i modulo 2 égale 0.
00:03:40 :On va voir tout de suite avec un else ce que ça donne.Donc avec un else vous voyez que ça donne ça.Donc là on a toujours la même liste que je vais déclarer ici.
00:03:50 :Donc la liste 1, 2, 3, 4, 5.Et là on va faire i x 2 si i modulo 2 égale égale 0.Sinon on va tout simplement prendre i.
00:03:59 :Donc ça c'est toute l'expression ici avec la condition le if et le else.Donc qui cette fois-ci vous voyez se retrouve au début,donc directement après l'expression.
00:04:07 :Donc on a l'expression, ensuite on a le if,ensuite on a le else,et ensuite on a la boucle pour i in liste.Donc si je fais tout ça, j'exécute,vous voyez qu'on a bien 1, 3 et 5 qui restent intouchés.
00:04:19 :Puisque ici dans le else on va tout simplement récupérer i.Et pour les autres, donc les nombres paires,on va tout simplement multiplier par 2.
00:04:26 :Donc on va se retrouver avec 4 et 8.Si je fais par exemple i x 3 pour le else,et bien là on va se retrouver avec 3, 9 et 15.
00:04:33 :Donc là vous pouvez faire toutes sortes d'opérations que vous voulezdans le else et dans le if.Donc ça va être vraiment très très pratique.
00:04:40 :Et vous voyez qu'une liste comprehension aussi complexe que ça,ça réussit quand même à tenir en une ligne.Là on aurait besoin avec une structure if elsed'au moins 4, 5, voire 6 lignes de code pour faire la même chose.
00:04:52 :Et on aurait aussi besoin d'une autre liste comme on l'a vu précédemment.Alors que là on peut remettre le résultat dans la même liste.Donc c'est vraiment très très pratique.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.