- 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 :Dans cette partie, on va voir pourquoi c'est une mauvaise idée de supprimer un élément d'une liste lorsqu'on y terre dedans.Donc, juste modifier en général une liste quand on y terre à l'intérieur de cette même liste est une mauvaise idée.
00:00:13 :Donc là, par exemple, dans ce cas-ci, j'ai une liste avec quatre prénoms.Je fais donc pour i, in range, len, prénom, et donc je récupère chaque élément de ma liste.
00:00:22 :Et là, je vais dire que si l'élément courant de ma boucle est égal à Julien,je vais supprimer cet élément-ci.Donc là, on veut tout simplement enlever Julien de la liste.
00:00:32 :On le fait de cette façon-ci.Et là, vous allez voir que ça va mal fonctionner.On va avoir une erreur.Et il va nous dire list index out of range.
00:00:39 :Donc le problème, c'est que quand on passe à travers notre liste ici et qu'on supprime un élément, notre liste, elle change.Et donc, on va passer dans notre boucle à travers chaque élément.
00:00:48 :Donc là, ça va être l'élément 0.Ensuite, l'élément 1.Ensuite, l'élément 2.Ensuite, l'élément 3.Le problème, c'est que si on supprime l'élément 2, les index vont changer.
00:00:56 :Et donc là, on va essayer d'accéder à un index qui ne va plus être disponible.C'est-à-dire que quand on va arriver à Paul, on va essayer d'accéder à l'index numéro 3.
00:01:05 :Puisque Paul, ici, est l'index numéro 3.Mais vu qu'on aura enlevé Julien, la liste ne contiendra plus 4 éléments.Elle en contiendra juste 3.Et donc, Paul n'aura plus l'index numéro 3, mais numéro 2.
00:01:14 :Donc on va essayer d'accéder à un élément avec l'index numéro 3.Et donc, on va se retrouver avec cette erreur ici.Index error.List index out of range.
00:01:23 :Puisque l'index n'existera plus.Donc ça, c'est vraiment une très mauvaise façon de faire.Alors la solution à ce problème, c'est tout simplement de coder plus efficacement.
00:01:31 :Donc par exemple, d'utiliser une compréhension de liste.Comme on a vu dans une partie précédente.Donc là, j'ai ici la même liste.Sauf que cette fois-ci, je fais une nouvelle liste.
00:01:40 :Donc prénom sans Julien.Et je lui dis tout simplement p for p in prénom if p différent de Julien.Donc on récupère tous les éléments de la liste.
00:01:49 :Sauf si l'élément est égal à Julien.Donc là, vous voyez qu'ensuite, si on fait un print.Donc là, je vais exécuter le script.Et bien, on se retrouve bien avec une liste qui ne contient plus Julien.
00:01:59 :Et on n'a pas d'erreur.Donc, puisqu'on ne va pas accéder directement à l'index.Donc là, on n'essaye pas d'accéder à un index qui n'existe plus.
00:02:06 :On le fait juste passer par une compréhension de liste.Donc on fait juste trier les éléments dans notre liste directement.Avec une structure conditionnelle ici.
00:02:14 :Et vous voyez que de cette façon-ci, ça fonctionne.Donc dès que vous passez à travers une liste.Vraiment, pensez à essayer de trouver le meilleur moyen de filtrer votre liste.
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.