- 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 comment récupérer correctement une clé dans un dictionnaire.C'est une erreur qu'on fait souvent quand on ne connaît pas très bien Python.
00:00:08 :On utilise une mauvaise manière de faire qui, la plupart du temps, va nous retourner des erreurs,surtout si la clé est inexistante.On va voir comment récupérer une clé, même si elle est inexistante, sans nous retourner forcément une erreur.
00:00:20 :Là, j'ai un dictionnaire avec, d'un côté, le prénom de certaines personneset, dans les valeurs du dictionnaire, leur profession.Là, j'ai un prénom, Jacques, qui n'est pas contenu dans le dictionnaire.
00:00:32 :Si j'essaie de faire de la mauvaise façon, cette première façon de faire,qui est probablement celle que vous connaissez et celle qu'on vous a montrée dans certains tutoriels,c'est une bonne façon de faire, mais le problème, c'est que si la clé n'existe pas, vous allez avoir une erreur.
00:00:47 :Là, par exemple, si j'essaie d'exécuter ce script, je vais avoir un keyError.Si je remonte au traceBack, vous voyez que j'ai une erreur keyError de type Jacques,puisque Jacques n'existe pas dans le dictionnaire, donc il nous retourne une erreur.
00:01:00 :Ça, ça peut être très problématique, puisque ça va stopper l'exécution de votre script.Une meilleure façon de faire, c'est d'utiliser la fonction get.La fonction get qu'on utilise ici, qu'on peut utiliser par défaut juste avec une valeur ici.
00:01:14 :Là, je lui passe la clé que je vais récupérer, je vais printer la professionet là, vous allez voir que, dans ce cas-ci, ça va me retourner none.
00:01:21 :Par défaut, si la clé n'existe pas, ça nous retourne none.Là, c'est déjà bien mieux, puisqu'on n'a pas une erreur.Comme ça, on peut juste essayer de récupérer la profession et s'il n'existe pas,la valeur dans profession sera none et c'est tout.
00:01:33 :Après, on peut gérer cette variable plus tard, par exemple, si profession n'est pas définie,faire quelque chose d'autre, mais ce qu'on peut faire de mieux encore,c'est donner un deuxième argument à cette fonction get ici,qui va être ce que l'on veut récupérer si la clé n'existe pas.
00:01:48 :Là, par exemple, dans le premier argument, je veux récupérer le prénomet dans le deuxième argument, je vais lui dire qu'est-ce qui va me retournersi la clé que je demande n'existe pas.
00:01:57 :Donc là, si la clé n'existe pas, je vais lui retourner la chaîne de caractèrequi dit que, là, je fais un format du prénom,donc ça va me dire que le prénom en question n'est pas dans le registre.
00:02:08 :Là, je réexécute mon script, donc CTRL B, et voilà.Vous voyez que la clé n'existe pas, donc ça me retourne,quand je print profession ici, la chaîne de caractère Jacques n'est pas dans le registre.
00:02:19 :Si je change le prénom ici et que, par exemple, je vais chercher Marieet que j'exécute le script, là, ça va me retourner la profession de la personneque je veux chercher, donc c'est parfait.
00:02:29 :Et si je mets autre chose, encore un nom qui n'existe pas,là, à chaque fois, vous voyez que ça va être dynamiquepuisque j'utilise ici le format du prénom,donc ça va me dire à chaque fois si la personne existe ou non dans le dictionnaire.
00:02:41 :Donc si elle existe, ça va me retourner sa profession,si elle n'existe pas, ça va me retourner ici une chaîne de caractère très explicitequi me dit que la personne n'est pas dans le registre.
00:02:49 :Donc voilà pour cette façon de faire différent.Moi, je n'utilise jamais, en fait, la première façon que je vous ai montrée iciparce que c'est très dangereux.
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.