Session du 17 septembre 2025 à 21h00
TOSA & Certifications
Deviens membre Premium magic_button
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- check +100h de formations
- check +180 exercices de code
- check +100h de mentorats en rediffusion
- check 20 projets
- check Mentorats groupés hebdomadaires
- check Support individuel avec nos mentors
Comprendre et manipuler les dictionnaires Python
Introduction pratique aux dictionnaires Python : création, clés, valeurs et différences essentielles avec les listes pour mieux structurer ses données.
00:00:00 :Ok, c'est parti.Bonsoir à tous, je pense que j'ai déjà salué plus ou moins tout le monde.Je vais partager ça.Ce soir, pour ceux qui ne l'auraient pas vu, on va parler des conditionnés.
00:00:21 :Je ne sais pas s'il y en a qui étaient avec moi la semaine précédente.J'avais refait un tour d'horizon sur les listes.On va pouvoir les dictionnaires un petit peu dans le même état d'esprit.
00:00:39 :Avant que je continue, est-ce qu'au niveau de la taille d'écriture c'est bon pour vousou est-ce que vous voulez que je mette un peu plus gros ?
00:00:46 :Un peu plus gros en fait.Comme ceci, c'est rare ?Ouais, c'est bon.Ok.Donc ce soir, on attaque par les dictionnaires.Alors, les dictionnaires, comme on a vu les listes la semaine dernière, c'est aussi un objet.
00:01:04 :Donc pour ceux qui ont étudié un petit peu la programmation orientée objet,c'est quelque chose qui, dans le code des pythons, est défini comme une classe.
00:01:15 :Donc on possède à la fois des fonctions et des méthodes.Et c'est le même type d'objet, on va dire, général qu'une liste.C'est-à-dire que c'est un objet qui va contenir d'autres objets.
00:01:31 :D'accord ?Alors pour rappel, la liste va se présenter comme ceci.Hop.Égal.Je clique.Là, c'est bon.C'est celui-là.Hop.Clique.Comme ceci, on va avoir des objets qui sont comme ça.
00:02:00 :Donc là, j'ai mis des chiffres.Là, j'ai mis des fiches, mais ça va avoir très bien, mettons, à la place de ce qu'on a.Créer une variable ici.
00:02:11 :Comme ça.D'accord ?Et remplacer, ici, 3 par la variable.D'accord ?Donc c'est vraiment une liste qui contient des valeurs ou des variables qui renvoient à des valeurs.
00:02:31 :Comme la liste est un objet au même type que tout autre type de variable, un objet qui est un container,je pourrais très bien avoir...
00:02:42 :Si, par exemple, je transforme ceci en liste.Clique.Je pourrais très bien avoir ma liste comme ceci en tant que variable,mais je pourrais également directement, mettons la place ici, mettre ma liste au sein de la liste.
00:03:02 :D'accord ?Pour les dictionnaires.Déjà, comment on va créer un dictionnaire ?Eh bien, tout simplement, pour définir un dictionnaire, on peut faire comme ceci.
00:03:15 :C'est un peu plus simple.Hop, on ferme.Voilà.Tout simplement.On met deux accolades et ainsi, on a créé un dictionnaire.Alors, si je fais ici, je crée une petite liste.
00:03:31 :D'accord ?Peut-être que Paillote est encore en train.Voilà.Je l'enregistre.J'exécute.Hop.Terminale.Il affiche bien que c'est bien un objet de type dict.
00:03:55 :D'accord ?La classe dictionnaire, donc, elle est représentée par la classe dict, d-i-c-t.Ceci dit, maintenant, il va falloir...On va chercher à mettre des valeurs dans le dictionnaire.
00:04:07 :Le truc, c'est que le dictionnaire, on l'a vu dans la liste,on ajoute directement la valeur ou la variable qui correspond à ce qu'on veut stocker.
00:04:17 :Le dictionnaire, lui, il marche avec un système de clés.C'est-à-dire que pour créer une première valeur dans le dictionnaire,on va le mettre à l'initialisation,je vais devoir lui mettre une clé.
00:04:29 :Alors, la clé, elle peut très bien se présenter sous une forme de caractère que sous un chiffre.D'accord ?Si je fais comme ceci...Hop !
00:04:43 :Au niveau des valeurs, je vais faire simple.Là, ce n'est pas le dict pour l'instant.C'est bien.Voilà.Comme ceci.Donc, j'ai bien créé un dictionnaire avec une clé qui s'appelle clé numéro 1 et une valeur numéro 1.
00:05:01 :D'accord ?Ici, tout comme dans la liste, je pourrais avoir une chaîne de caractères,éventuellement, une variable.On prend d'abord ceci de là.Ceci, c'est la variable 3.
00:05:19 :Et je vais mettre ici...Hop !Voilà.Une autre liste.Enfin, on peut vraiment y stocker tout ce qu'on veut.La grosse différence qu'on a justement entre les dictionnaires et les listes, c'est ces clés.
00:05:34 :Ce qu'il faut savoir, c'est que contrairement à la liste, un dictionnaire n'est pas ordonné.Je reprends pour ceux qui n'étaient pas là la semaine dernière ou pour qui c'est un peu débileux.
00:05:51 :Ici, chaque élément de ma liste a un indice.On appelle un indice.Donc, ça commence à 0, 1 et 2.Pour un dictionnaire, on n'a pas du tout ça.
00:06:03 :Ici, il n'y a pas d'indice pour cette clé.Si je crée une deuxième clé, hop, même chose, il n'y aura pas d'indice.C'est-à-dire que je ne vais pas pouvoir récupérer ma clé là en utilisant l'indice 0 ou l'indice 1.
00:06:18 :Ce qu'on va utiliser pour pouvoir récupérer la valeur et le stocker dans le dictionnaire, justement, c'est la clé.Donc, si je veux afficher la première clé, par exemple,je vais utiliser le nom du dictionnaire sur lequel je vais travailler.
00:06:37 :Et ensuite, entre crochets, comme pour la liste, je vais préciser la valeur de la clé.D'accord ?On va exécuter ça rapidement pour que vous voyez.
00:06:52 :Hop.Effectivement, on revient à la valeur 3.Vous voyez en même temps que le fait de mettre une variable dedans,il a vu que c'était une variable et il a bien envoyé la valeur de la variable.
00:07:04 :D'accord ?Donc, c'est comme ça qu'on va pouvoir récupérer les clés.Maintenant, ce système va également nous permettre de remplir le dictionnaire.On va changer un peu de sujet.
00:07:20 :Je vais vider le dictionnaire.Hop là.Une seule variable parce qu'elle ne sert à rien.Ok.Mettons, si je veux ajouter une valeur à mon dictionnaire,je ne peux pas très bien faire comme ceci.
00:07:39 :Alors.Bon. Dic.Je vais utiliser les crochets.Là.Voilà.Entre parenthèses, je vais mettre le nom de la clé.Là, on va utiliser le nom, effectivement.
00:07:56 :Hop.Et on va, par exemple, utiliser ceci.C'est-à-dire que c'est horrible.Si je veux faire le prénom, Bruce.D'accord ?Donc, vous voyez bien la différence.
00:08:15 :Un print ici et un print de mon dict ici.Hop.Je l'en sors.Et là, on voit bien qu'au début, mon dictionnaire est vide.Et après, on a bien le dictionnaire qui est rempli avec une clé nom qui a pour valeur Wayneet une clé prénom qui a pour valeur Bruce.
00:08:40 :Ok ?C'est bon pour tout le monde ?Oui, c'est bon.Ok.Donc ça.Là, tout à l'heure, on avait donc...Alors, je vais mettre celui-là, ce qui est intéressant.
00:08:54 :D'abord, on va supprimer le reste.Voilà.On va nous amener, donc, pour ce que je vous ai fait.Voilà.On a vu que...On pouvait récupérer une valeur en utilisant le nom du dictionnaire et le nom de la clé.
00:09:12 :Voilà.Ici.Voilà.Si je relance mon script, pas de problème.Il me suit bien, Wayne.Maintenant, qu'est-ce qui se passe si je mets une clé qui n'existe pas ?
00:09:28 :Par exemple, je dis que je vais supprimer la clé H.Qu'est-ce qui va se passer à votre avis ?Il va y avoir un bug, en fait ?
00:09:39 :On va avoir une erreur.Je vais exécuter le script.Effectivement, il me renvoie une erreur.Parce qu'en fait, le problème, c'est qu'il n'y a pas de clé qui a pour valeur H.
00:09:55 :Du coup, Python est incapable de retrouver la clé.Sauf que, par l'objet de cette méthode-là,il n'a pas de moyens de réagir si la clé n'existe pas.
00:10:08 :Donc là, qu'est-ce qu'il fait ? Il renvoie une erreur.L'autre méthode, du coup, pour la méthode, on va dire, pour récupérer une valeur,c'est la méthode get.
00:10:22 :Donc là, je vais vous montrer d'abord avec nom.Vous allez voir qu'on a exactement le même résultat.Il revient bien, Wayne.Maintenant, si je mets H,c'est que la clé n'existe pas.
00:10:35 :Donc on va regarder le comportement qu'on va obtenir.Alors oui, si je ne regarde pas, ça ne va pas faire grand-chose.Voilà.Là, il me renvoie none.
00:10:50 :Parce que la méthode get avec un dictionnaire, ce qu'elle va faire,c'est qu'elle va aller regarder si la clé que vous avez mis, elle existe.
00:10:58 :D'accord ?Si elle n'existe pas, par défaut, elle va vous renvoyer none.Donc c'est déjà bien.Maintenant, none, ça peut être utilisé dans le cadre d'un script ou d'un programme,mais on peut personnaliser dans le cas où la clé n'existe paset avoir du coup un retour plus clair.
00:11:21 :Donc ce qu'on va faire, c'est soit on va donner une valeur par défautou on peut également mettre un message.Par exemple, cette clé n'existe pas.
00:11:31 :Pensez, hop, on réexécute le script.Et effectivement, il nous met bien cette clé n'existe pas.On peut le faire avec n'importe quelle valeur.Allez, on va faire adresse.
00:11:46 :Et on aura toujours le résultat.Cette clé n'existe pas.D'accord ?Donc ça, c'est bien parce qu'on va pouvoir dire,tiens, je vais essayer de récupérer la clé en question.
00:12:03 :Puis il me prévoit un petit message.Je vais pouvoir récupérer ce messageet déterminer si la clé existe ou pas.Et à ce moment-là, je vais agirer discrètement dans mon script.
00:12:13 :Donc ça, c'est bien, mais il y a une autre méthode.Alors, pour ce qui est, avant qu'on bascule sur cette autre méthode,pour ce qui est de récupérer des données dans un dictionnaire,je vous recommande très fortement,quelle que soit la situation,de préférer GET à la méthode qu'on a vue précédemment avec ces crochets,
00:12:35 :à savoir...Je vais arrêter ça ici.Music.Adresse.On va laisser comme ça.Parce que cette méthode-là,surtout si vous manipulez un dictionnaire,où vous ne savez pas si les clés qu'il contient est précisément,parce que, admettons, vous avez,vers ça, je pense, la semaine prochaine,récupéré des valeurs depuis un fichier
00:13:05 :et vous les avez insérées directement dans un dictionnaire,si vous ne connaissez pas le contenu de ce fichier,vous n'allez fatalement pas savoirquelles sont les clés qui existeront dans votre dictionnaire.
00:13:17 :Donc, si vous essayez de récupérer une valeur,une clé qui n'existe pas dans votre dictionnaire,vous allez générer des erreurs.Alors, soit il va falloir faire neutral.exe,
00:13:26 :soit il va falloir faire d'autres astuces pour gérer ça.Maintenant, c'est un peu compliqué.Moi, je vous recommande très fortementde préférer toujours la méthode GET.
00:13:36 :Au moins, avec ça,soit vous avez un retour non,soit vous avez un retouravec une valeur que vous avez prédéfinie,ce qui va vous permettre de mieux gérervotre fichier et d'éviter de déclencher bêtementune erreur qu'il va falloir regérer derrière.
00:13:54 :OK ?OK.Maintenant, on va reprendre le petit exempledes fichiers qu'on a utilisés pour créer le dictionnaire.Il y a une méthode qui va vous permettreplus facilement de savoir si, effectivement,la clé existe. Est-ce que vous la connaissez ?
00:14:09 :Non.Non. Voilà. Je vais vous montrer ça vite fait.Les dictionnaires ont une méthodequi s'appelle ASCII.Donc là,vous mettez votre valeur.On va faire H.
00:14:31 :Voilà.Qu'est-ce qu'il dit ?Je vais reprendre la méthode ASCII.Je vais essayer de repartir de là.Ah, d'accord. Peut-être que c'est ça.Non.Ils n'ont quand même pas supprimé cette valeur.
00:15:15 :Après, oui, ils nous ont supprimé cette valeur.Ce qui est dommage.C'est un petit peu dommage.Alors, j'essaierai d'investir là-dessuspuisque je ne sais pas pourquoi cette valeur n'existe plus.
00:15:41 :Je vais faire une petite recherche vite fait.Il m'en reste une seconde, mais...Voilà.Ah, d'accord. OK.Ça a été retiré.On en apprend tous les jours.
00:16:08 :Cette méthode-là a été retirée.Mais c'est pas grave.On a d'autres méthodes pour...On y reviendra un petit peu plus tardparce que c'est un peu plus avancé.
00:16:18 :Mais c'est pas grave.On a d'autres méthodes pour...On y reviendra un petit peu plus tardparce que c'est un peu plus avancé.On y reviendra un petit peu plus tardparce que c'est un peu plus avancé.
00:16:31 :Mais je vous montrerai après une petite méthodepour voir si, effectivement,il y a une clé ajoutée pour générer des erreurs.Donc maintenant, on a vu comment...
00:16:40 :Alors, de toute façon, ce qu'il faut retenir,c'est que quand vous utilisez même un dictionnaire,vous n'êtes pas sûr des clés qui sont dedans.Préférez la méthode GET.
00:16:48 :Ça vous évitera les erreurs.Après, si vous êtes sûr à 200%que la valeur est dedans,vous pouvez utiliser l'autre méthode avec le projet qu'on avait en premier.
00:16:57 :Maintenant,on a vu comment créer un dictionnaire,comment ajouter des valeurs dedans,donc créer des nouveaux clés de valeur.On a vu comment les afficher.
00:17:14 :Maintenant, comment fairepour supprimerune clé au sein du dictionnaire.On va rajouter des valeurspour que le dictionnaire soit un peu plus gros.Alors, personne n'a pu m'aider ?
00:17:37 :Non, je ne sais pas.Alors, pour cette fonction-là,il faut être sûr des clés qui sont dedans.Alors, par exemple,on va utiliser DEL.Donc DEL, et on va indiquer aprèsle dictionnaire et la clé qu'on veut supprimer.
00:17:58 :On va lancer ce petit script là.Vous allez voir directement comment ça se passe.Ah oui, c'est juste ça.OK.Et là, on a une nouvelle clé,une nouvelle clé,une nouvelle clé.
00:18:19 :OK.Voilà.Donc là, vous voyez sur la première ligne,qui correspond à ce print là,qu'on a notre dictionnaireavec le nom, le prénom, l'âge et la vie.
00:18:32 :Sur la ligne d'après, où on a supprimé l'âge,on a bien supprimé la clé et sa valeur,et on n'a plus que le nom, le prénom et la vie.
00:18:41 :OK.Donc ça, pour supprimer une entrée,c'est la meilleure méthode.Est-ce que c'est bon pour vous,par rapport à...au fait d'ajouter, supprimer des élémentsd'un dictionnaire ?
00:19:07 :Ajouter des éléments et supprimer les éléments.On peut...Vas-y.Non, vas-y, pardon.On peut éliminer à la veléeplusieurs clés du genre...Donc on ferait âge, virgule,prénom, etc.
00:19:28 :On peut enlever plusieurs clés en même tempsdans une seule commande, dans une seule ligne ?Non.Normalement, c'est une commande d'une certaine façon.On peut essayer pour voir,mais à mon avis, ça ne passe pas.
00:19:41 :On n'a jamais eu à faire,donc on va voir, mais...A priori...Parce que, disons, tu te rends compte,si tu veux en enlever une quinzaine,tu es obligé de taper 15 fois la ligne.
00:19:54 :Enfin, pour faire une boucle, tu vas me dire, mais...Voilà.Pour faire une boucle, mais...Effectivement, oui, parce que là...Alors, très bien, ça m'amène sur autre chose.
00:20:04 :Si, par exemple...Si je mets, par exemple,GsousGmoveégal à H,et que, ici, je remplacepar ma variable,ça fonctionne de la même manière.
00:20:35 :D'accord ?Que vous mettez ici en crochet,ça reste une valeur, une variable,ça reste un élément qui pointe vers une valeur.Donc, d'une manière où ta variable a une valeurqui correspond à une clé,ça ne pose aucun souci.
00:20:49 :Donc, ça veut dire que tu ne peux même pas...Oui, c'est ça, tu ne peux pas éliminerplusieurs clés, quoi.Alors, pour faire ce que tu voudrais faire,par exemple,on pourrait faire...
00:21:01 :Je croyais que tu voulais faire une liste.Tu aurais fait clé to remove,égal à H, non, etc.Et après, tu aurais...Je vois ce que tu veux dire, attends.
00:21:10 :Après, en del, tu aurais mis ta liste.Enfin, ce n'est pas une liste.Si, ce serait une liste.Alors, on va faire comme ça, oui.
00:21:19 :Et là, on va voir A, Z et U qui vont partir.Oui, lui, il est parti, là.Oui, tu peux passer par une boucle, comme ça.
00:21:30 :Et la commande del,on accepte de supprimer qu'une seule clé à la fois.Oui, c'est ça, oui.Donc, il va forcément falloir passer par une boucle.
00:21:37 :Oui, oui.Ça fait une bonne transition,puisque, justement,le dictionnaire étant une collection d'objets,d'accord ?Merci.C'est un élément itérable.Je reviens derrière, merci.
00:21:56 :C'est un élément itérable sur lequel on peut boucler.Maintenant, pour une liste,vous l'avez déjà vue,pour item, il m'en...Hop.Là.Comme ça.Chac, chac, chac.
00:22:16 :Primes.Item.Hop.Si je boucle sur ma liste, comme ça,je vous l'avais déjà vue,ça va m'écrire la liste.Pour un dictionnaire, c'est différent.
00:22:32 :Puisqu'on a des clésqui sont associées à des valeurs.Mais les clés en soine sont pas des objets,ce ne sont pas des variables.
00:22:43 :D'accord ?Comme vous avez pu le voir précédemment,à chaque fois, on va mettrela valeur de la clé.Donc, si c'est une clé qui a pour valeurnon,on va utiliser non.
00:22:59 :Après non.Ça pourrait être des clés,je vais vous le montrer rapidement.Ça pourrait être des entiers.Là.C'est pas grave.Vous voyez, ici le dictionnaire,à la place des clés,il a pris des entiers.
00:23:21 :OK ?OK.Mais à chaque fois,on met bien entre crochets la valeur.Donc, on ne peut pas bouclersur un dictionnaire comme on le feraitavec une liste.
00:23:31 :Parce qu'en fait,c'est un système de clésqui indique à quelle valeur ça correspond.D'accord ?Mais la clé en elle-mêmen'étant pas une variable,ce n'est pas un objetqu'on va pouvoir récupérerpar l'objet de la boucle.
00:23:46 :Donc, pour boucler sur un dictionnaire,on peut faire plusieurs choses.Tout d'abord,et là, c'est là que ça peut être utile,par exemple, pour savoirsi on a une clé dans notre dictionnaire.
00:23:58 :Je vais reprendre,je vais faire comme ça,ça signifie qu'on reste dans notre logique.Voilà.Je vais supprimer mes deux variables ici.Voilà.On va refaire comme tout à l'heurepar rapport à notre variable âgequi, on ne sait pas si ça existe ou pas.
00:24:15 :Attention.Et bien, pour savoirsi telle ou telle cléexiste dans le dictionnaire,on va utiliser l'attribut.La méthode kid.D'accord ?Et là,on va afficher, dans un premier temps,par exemple, les items.
00:24:38 :Voir ce que ça ressort.Et là, si je l'en sors,un petit pire, parce quele terminal commence à tomber.Ah oui, si je ne solde pas,on ne va pas avoir le résultat attendu, forcément.
00:25:04 :Voilà.Il nous ressort bienles clés nom et prénom.D'accord ?Donc pour en revenir à ce qu'on disait tout à l'heurepar rapport au fait de déterminersila clé est non dedans.
00:25:20 :D'accord ?On pourrait très biencréer une liste avec ça.Je vais vous montrer comment ça...Vous avez vu les compréhensions de liste ou pas ?
00:25:31 :Oui, un peu.C'est bon pour tout le monde ou pas ?Oui, un petit peu.On va essayer. Vas-y.On ne va pas utiliser de la compréhension de liste.
00:25:48 :On ne va pas compliquer le propos.On va faire plus simple.Je vais créerune variable ici.Ce que je fais n'est pas très propre,mais c'est pour que vous compreniez l'idée.
00:25:59 :Voilà.Donc là, on a créé une liste dans laquelleon a nos clés. D'accord ?Et on veutafficher la variable ageuniquement si elle existe.
00:26:21 :Donc on va faire chiffreageinhop là.Liste clé.Voilà.La clé age est présente.Sinon...Voilà.Donc là, je vais lanceret voilà.
00:26:49 :Je trouve qu'on va désactiverCopilot pour enfiler les lives.C'est fou quand même,hein, Copilot ?Il t'écrit ton code.Tu n'as même pas...Après, dans mon exemple de tous les jours, ça me sert bien.
00:27:05 :De toute façon, donclà, si je lance mon script,il m'explique que la clé age n'est pas présente.D'accord ?On va la rajouterpourfermer. Allez, hop.
00:27:19 :Et là, si je renonce mon script,il me dit bien que la clé age est présente.Ok ?Donc là, par exemple,c'est une méthode qui pourrait permettre de déterminersi on a ou non la clé agedans notre dictionnaire. D'accord ?
00:27:37 :On a maintenantune autre méthode.On veut savoir si,par exemple, il y aun chiffre,un entier,dans l'ensemble des valeurs qu'on a dans le dictionnaire.
00:27:53 :Pour ça,il faut que l'on récupère simplement les valeurs.Donc, à la place de case,on va utiliser values.Donc,je vais supprimer ce case qui ne sert à rien.
00:28:07 :Crac, voilà.Je veuxon va dire quesi le type d'itemest entier,printil, hop,voilà, ildit qu'il y a un entier.Simple.
00:28:33 :Là, je relance mon liste,mon script,et il me dit bien qu'il y a un entier,donc je vais acheter vos 35.D'accord ?On pourrait le faire avec tous types.
00:28:47 :Si, mettons,ici, je mets une liste,voilà,dont un,je pourrais exclureune valeur.Hop,je sauvegarde,et sije metsune valeur,hop,voilà,je vérifie s'il y a un type liste,il me dit qu'il y avait une liste dans mon dictionnaire,puisque c'est comme ça.
00:29:19 :D'accord ?Donc, c'est assez bien, ce qu'on voit maintenant,on a vu comment on pouvait travailleren récupérant uniquement les clés.On a vucomment récupérer les valeurs.
00:29:31 :Maintenant,ce qui serait bien, c'est de pouvoir travailleren récupérant les clés et les valeurs.Parce que là, techniquement, sur le dictionnaireque je vous ai fait, ça pourrait être très bien une fiche d'une personne.
00:29:41 :Ça pourrait être très bien la fiche d'identité d'une personne,un client ou autre dans une entreprise,ou un employé.Et on voudrait pouvoir,mettons, imprimer la fiche de cet employé.
00:29:55 :On ne va pas l'imprimer sous la formed'un dictionnaire, ce n'est pas très léger.Donc là, à la place de values,on va utiliser tout simplementitems.
00:30:09 :Pour items, il y a une petite astuce,c'est que items va renvoyerdeuxvariables.Donc, il va falloirdans le for,créer deux variables. Alors, je vais les appeler
00:30:23 :comme ça, ça sera clair pour vous, c'est tout pour l'ordre.D'abord, on met la clé,et ensuite, on met la valeur.Et là, par exemple,on va faire ça comme ça, c'est très bien.
00:30:35 :On va venir imprimerla clé, et ensuitela valeur.On va sauvegarder ça,vérifier un peu ce que ça nous dit.Et donc, effectivement,on nous a bien sorti la clé,deux points, la valeur.
00:30:57 :Ce que vous voyez ici, c'est bienune chaîne de caractères.D'accord ?Ok.Une dernière manièresur laquelle on peut boucler sa dictionnaire,pour faire unevérification, par exemple,c'est souvent comme ça qu'on va l'utiliser.
00:31:17 :On va revenir sur l'accentsous nom de notre variable age,je vais le supprimer.C'est avec les conditions.Donc, ifageVoilà.Il me ditque la clé age est présente,la clé age n'est pas présente.
00:31:39 :Je recommence.Effectivement, il me dit que la clé agen'est pas présente. Au contraire,si je mets ici la valeur non,et que je relance,il me dit que la clé nonest présente dans le dictionnaire.
00:32:01 :D'accord ?A savoir qu'avec l'opérateur in,dans un dictionnaire,la seule chose qu'il va pouvoir comparer,c'est les clés.Si, par exemple,je mets Wayneici,on va simplifierun peu le script.
00:32:25 :Pas trop vite.Ok.Et là, je metsWaynen'est pas présentdans le dictionnaire.Vous êtes d'accord avec moi qu'ici, on a bienpour valeur non Wayne.
00:32:49 :Là, si je lance mon script,il va me direque Wayne n'est pas présent.Parce que lorsque vous allez faireune condition comme ça,il ne va vraiment travailler que sur les clés.
00:33:01 :Il n'ira pas voir la valeurde la clé.Ok ?On va faire ça.Je vais vous poser une question.Hop là.Voilà.On va rajouter l'âge.
00:33:45 :Voilà.Admettons que ça, c'est mon dictionnairequi se considère comme étantma base de donnéesà laquelle je ne veux pas toucher.Et je veux faire des modificationssur la fichedu Wayne.
00:34:03 :Je veux, par exemple, modifier son âge.Mais je veux créer une deuxième variablepourmodifier son âge.Avant, et pouvoir éventuellementle passer au filtre de vérificationdivers et variés avant de réinjectertout ça dans ma base entre guillemets.
00:34:21 :Alors,voilà.Si je fais ça avec une variable.Si je fais A égale5. D'accord ?Si je fais Bégale A.Ok ?Si je fais B,je vais l'incrémenter de 3.
00:34:45 :Par exemple, je vais prendre A pris B.Ok ?On pense.On voit qu'iciA est égale à 5.On a dit que B était égale à A.
00:34:59 :Donc il a pris la valeur de 5.B,j'ai incrémenté de 3.J'affiche les deux et on voit bien que Aest resté à la valeur 5. B est à la valeur 8.
00:35:09 :D'accord ?Maintenant, on va fairela même chose avec un dictionnaire.Donc j'ai mon DICqui est ici.Je vais dire que mon DICtempest égale à mon DIC.
00:35:29 :Ok ?Maintenant, on va passer l'âgeà 36.Etje vais imprimer mon DIC.Ok ?Donc normalement,il devrait être resté à 35.On est d'accord ?
00:36:01 :Eh ben non.On est passé à 36.Donc qu'est-ce qui s'est passé exactement ?Là, en faisant un égalentre mon DIC temp et mon DIC,on n'a pascopié les valeursqui étaient contenues dans le dictionnaire mon DICvers un nouveau dictionnaire mon DIC temp.
00:36:21 :On a simplementcréé un liende mon DIC temp vers mon DIC.Ce qui fait que toutes les modificationsqu'on effectue dans mon DIC tempse répercutentautomatiquementsur mon DIC.
00:36:37 :Pour être plus clair,mon DIC temp n'est pas un objet de typedictionnaire dans ce contexte-là.Il n'est pas considéré comme tel.Il est considéré comme un raccourciou un lienvers le dictionnaire mon DIC.
00:36:51 :Ok ?Maintenant,si je veux faireune copie du dictionnaire,puisque c'était ce qu'on recherchait au début,et que je veuxvraiment que les valeurs soient séparées,il faut que j'utilise la méthodecopie.
00:37:09 :D'accord ?Et là,on va faire un print de mon DIC temppour avoir les deux.Si je relancemon petit script,on voit que ce coup-ci, mon DIC a bienconservé sa valeur 35et mon DIC temp a, lui, sa propre valeur36.
00:37:31 :Avec la méthode copie, on a réellementcréé un deuxième dictionnairequi a pris pour valeur les valeurs quemon DIC avait à ce moment-là.Est-ce que cette nuance-làest claire pour tout le monde ?
00:37:45 :Oui.Oui.Ok.Allez, on va maintenantrefaire notre petit truc.Allez, on va diremon DIC 10.Ok.On régale. Hop.Voilà.Voilà.Et on va mettreces valeurs-là dansmon DIC 10.
00:38:19 :Ok.Ok.On supprime ça.Hop.Voilà.Donc là, ce coup-ci, j'ai deux dictionnaires.Un dictionnaire mon DIC 10qui contient l'âge et la ville.Et un dictionnaire mon DICqui contient le nom et le prénom.
00:38:41 :Comment est-ce que je pourrais fairepour insérer les valeursde mon DIC 10dans le dictionnaire mon DIC ?Personne n'a une idée ?Non, je ne sais pas.
00:39:05 :Alors là,c'est assez logique.C'est la méthode update.C'est-à-dire qu'on va direà Python de mettre à jourles valeurs de mon DICavec celles de mon IBIS.
00:39:21 :Ok.On va afficher mon DIC.Je vais le remettre icipour que vous voyez bien la différence.La différence.Voilà.Je lance.Et là, on voit bien que dans le premier mon DIC,on a que le nom et le prénom.
00:39:43 :Et après, on a bien les valeurs âge et ville.Ok.Attention.La variable qui sera modifiée,le dictionnaire qui sera modifié,c'est celui sur lequel on applique la méthode.
00:39:57 :Ok.Et ici, c'est le dictionnairequi contient les valeurs à mettre à jour.Maintenant,je vais vous révéler un grand secret.Ne soyez pas choqués.
00:40:09 :Voilà.Désolé, j'ai spoiléceux qui ne savaient pas.Si je fais ça,qu'est-ce qui va se passer ?Ok.Et là, il a modifié le nom.
00:40:35 :Donc,avec la méthode UPDATE,ce que va faire Pouton,c'est qu'il va comparerles paires,les valeurs qui existent dans le dictionnairequ'on veut modifier.
00:40:49 :Ici, dans ce cas, mon DIC.Avec les paires,les valeurs qui sont dans le dictionnaireajoutées, avec lesquelles on veut mettre à jourle dictionnaire d'origine.
00:40:59 :Ici, mon DIC.Si la clé est existante,il vadonner la valeur qu'on précisedans le dossier mon DICau dictionnaire d'origine.Si la clé est inexistante,il la créeavec la valeur qui lui est associée.
00:41:17 :Est-ce que j'ai perdu du mondeou est-ce que c'est clair pour tout le monde ?Non, c'est bon, c'est clair.Moi, ça me va bien, ouais.
00:41:35 :Voilà.Donc, voilà en gros un petit peutoutes lesmanipulations qu'on peut avoirsur un dictionnaire. Ce que je vous ai montrélà, c'est la manipulation qu'on aurale plus souvent.
00:41:51 :Avant qu'on s'équipe,je vais vous poser une questionsubsidiaire.D'accord.Alors,on va faire ça.Ça, pour ceux qui, un jour,qui sont déjàentagés dans cette démarche-là.
00:42:13 :Ce genre de questions que vous aurez.Autosa.Voilà,on va faire ça.Sije veuxbouclerouextraire une valeurde ma listeou du dictionnaire,est-ce queA,le temps d'exécution seral'identique avec ma liste ou mon dictionnaire ?
00:42:51 :B,sera plus rapide avec ma liste ?C, sera plus rapide avec mon dictionnaire ?On doit répondre ?Plus c'est rapide avec le dictionnaire.
00:43:07 :Christophe dit plus rapide avec le dictionnaire.Excusez-moi.Voilà, excusez-moi.Alors,Christophe se dit que c'est plus rapide avec le dictionnaire.Oui, parce qu'il n'y a pas de parcours.
00:43:25 :Il n'y a pas de parcours, en fait,comparé à la liste.Eric, quel est ton avis ?Je ne sais pas trop, on va dire.
00:43:39 :Peut-être mon dictionnaire, je ne sais pas.Je pense.Adama, tu as une idée ?Pour moi, ça sera plus rapideavec la liste.Je n'ai aucune idée, moi.
00:43:53 :Je dirais comme ça.C'est zéro déchet 3,je ne crains pas taper comme ça.Non, c'est José, il faut que je mette mon vrai.C'est parce que je me trompe quand je me connecte.
00:44:03 :Pas de souci, pas de souci.Non, je dirais la liste comme ça, intuitivement,mais je n'en suis même pas sûr.Baptiste, je pense qu'il connaît la réponse.
00:44:11 :Alors, le plus rapide, c'est avec le dictionnaire.Alors, pourquoi ?C'est pas le seul mot à dire, c'est le plus rapide.Bonne nuit, allez vous coucher.
00:44:23 :La différence qu'il y a entre la listeet le dictionnaire, c'est que par exemple,si je veux sortir la valeur 5,OK,la liste,elle va itérer sur tous les élémentspour savoirs'il y a la valeur 5 et me la ressortir.
00:44:41 :Il va regarder le 1, il va regarder le 2,il va regarder le 3, il va regarder le 4,il arrive au 5, c'est la bonne valeur, il me la donne.
00:44:47 :OK ?Pour le dictionnaire,lui, ce qu'il va faire, c'est qu'il va utiliserles clés et il va aller chercherdirectement la valeur.Alors, comment est-ce qu'il fait ça ?
00:44:59 :C'est quele dictionnaire,quand il va stockerses objets en mémoire,lui, ce qu'il va faire, au lieu d'utiliser des indices,comme on avait avec les listes au tout début,je vous les rappelais, 0, 1, 2, 3, 4,il va utiliserce qu'on appelle un hash.
00:45:17 :Je vous rassure, ce n'est pasquelque chose d'illégal qui se fume.C'estune manièrecryptographique qu'on utilise eninformatique, où on vapasser une valeur au traversde différents algorithmespour obtenir une valeur unique.
00:45:35 :Ce qui fait queau lieu de boucler sur tous les éléments,il va avoir un tableauqui va lui permettre de retrouverquasiment instantanément la valeurrecherchée.
00:45:47 :Alors, maintenant,pour être très clair,ici, entrela liste et le dictionnaire que je vous ai affiché,la différence de temps d'exécution,vous la verrez à peine.
00:45:59 :OK ?Là,par contre, si on commence à avoirun million ou deux millions d'élémentsdans la liste ou le dictionnaire,croyez-moique là, vous allezvoir la différence.
00:46:17 :Alors, je vous retrouve le nomexact.Voilà.Celle-ci.Voilà.On dit quec'est la complexitéde l'élément.Un dictionnaire a une complexitéqui est notée O1.
00:46:59 :Je vais vous marquer ça dans lechat.Vous pourrez voirà quoi ça ressemble.Ça veut dire que peu importela taille de l'élément,on considère queà chaque fois qu'on va rechercher quelque chosedans le dictionnaire, on ne faitqu'une seule exécution.
00:47:21 :D'accord ?Pour ce qui est de la liste,c'est un objet qu'on appelle de complexitéON.ON, ça va êtreen fait le totaldes éléments que contient la liste.
00:47:35 :D'accord ?Donc,pour ce qui est des bics,voilà,vous en avez entendu parler.Vous y reviendrez plus tarddans votre parcours, notammenten préparant ces aux-arts, parce que ça, c'est le genre de questionsqui se tombent assez souvent.
00:47:54 :Et si on n'en a pasjamais entendu parler, on a un petit peu de malà l'intégrer.Mais c'est donc justementla grosse différence qui existeentre le dictionnaire et la liste.
00:48:06 :C'est-à-dire que quand on va avoirdes grands ensembles de valeurs à traiter,et on sait qu'on va devoir aller chercherdes valeurs régulièrement au seinde ce maelstrom de valeurs,surtout si on arriveà des quantités de 1 ou 2 millionsde valeurs.
00:48:22 :Pour ceux qui font du pitondata science par la suite,vous verrez que c'est pas rare.1 million, j'exagère peut-être, mais100 ou 200 000 valeurs,ça peut arriver.
00:48:34 :Il vaudra mieux stocker ces valeurssous un format de dictionnaire,dans la mesure du possible,que sous la forme d'une liste.Parce que sinon,vous allez considérablement ralentirvotre esprit.
00:48:48 :C'est bon pour tout le monde ?Oui.Vous vous êtes touchés sur les aspirinespour le mal de tête.J'ai une petite question,je vous excuse,c'est dommage.
00:49:04 :C'est pas pour la traiter maintenant,c'est juste une confirmation.Les dictionnaires,ça n'a qu'une seule dimension.Il n'y a toujours qu'une seule clé.Jamais on a imaginé des dictionnairesmultidimensionnels où justementça pourrait être un groupe de cléset on pourrait s'amuser à joueravec ça.
00:49:24 :Je vois ce que tu veux dire.Dans ce sens-là,on peut le considérer comme multidimensionneldans le sens où tu pourrais avoirdes dictionnaires comme valeur de clé,comme valeur contenue par une clé.
00:49:36 :Ah ouais, d'accord.Alors là, ça doit être chaud le truc.Alors, pas plus qu'avec une liste.Tiens, je vais vous montrer ça rapidement.Vous allez voir,c'est pas plus compliqué qu'avec une liste.
00:49:52 :On va le faire avec les deux,comme ça vous verrez les deux options.Par exemple,comme ça, on va faire simple.On ne va pas se compliquer trop la vie.
00:50:02 :Hop, hop.Je vais faire des clés numériquesqui vont renvoyer des lettres.C'est un peu complexe.Hop.Virgule.Deux.Point.Clé.Hop.Voilà.Là, j'ai une liste dans une liste.
00:50:30 :Donc, si je voulaisimprimer, mettons,le chiffre 4de ma liste,je vais d'abord avoir tapé sur l'élément1, je vous le rappelle,0, 1, et à l'intérieur,0, 1, 2.
00:50:46 :Donc, je vais mettre tout de suitema liste.1, 2.Maintenant, si je veux fairela même chose dans mon dictionnaire,OK,donc là,ici, je vais mettre la première clé,donc la clé qui correspondau dictionnaire, et au seindu dictionnaire, je mets ensuitema seconde clé.
00:51:10 :Ici, c'est la clé 2.Si j'exécute ce script,vous allez voir, il va m'afficherle chiffre 4et ensuite la lettre B.OK.Ah, oui, ça c'est intéressant.
00:51:24 :D'accord. Ouais, je comprendsmaintenant. Donc, c'est pas pluscompliqué.Allez, je vais essayer de vous faire un truc proprepour terminer sur quelque chose de correct,qui pourrait correspondre à une situationréelle.
00:51:38 :Alors, hop,on va faire attention.Client.OK.Alors, on va faire ça soit comme dans le dictionnaire,on a dit.Donc là.Voilà. Autre exemple, c'est à quel
00:51:54 :vous pouvez mettre le dictionnaire.Alors, on va dire client.Allez, on va faire simple.Voilà.Hop.Je mets mon dictionnaire.Donc,je comprends.On va prendre des suggestions.
00:52:16 :Ensuite,je mets mon client 2.Simplement.OK.Etje fermemon dictionnaire. OK.Voilà.On va remonter ça.Là, typiquement, on a un dictionnairequi pourrait correspondreà une forme de basede deux clients. OK.
00:52:42 :Et là, si je veux savoirquel est leprénom du client 2,je vaisprendre mon dictionnaire,mes clients,et les clients 2.Tout à l'heure.
00:52:58 :Laisse-moi tranquille.Hop.J'enregistre.Je lance.Et, comme attendu, il me sort clair.Ah, ouais.Ah, ouais, non, mais c'est tout à fait ça.Je comprends. Ouais, c'est très clair.
00:53:14 :Comme le prénom, d'ailleurs.Ah, ouais. Donc, en fait,le dictionnaire de niveau 1contient un dictionnaire,et à chaque fois, on rentre dedans.Voilà.Oui, finalement, c'est très simple.
00:53:28 :Après, on peut multiplier à l'infini.Je pourrais très bien dire iciadresse.Donc, là.Je vais mettre Paris,parce qu'il y a l'année d'été.Alors, je vais mettrenuméro 12,rue de la Paix, à Paris.
00:53:46 :On va faire la même chosede l'autre côté pour être cohérent.Clac.Voilà.Adresse.Et maintenant,si je mets iciadresse,ville,très bien.Il va me sortir la ville.
00:54:18 :Si je mets justel'adresse,il va me sortirle numéro, le rueet la ville.Ah, ouais, c'est génial.J'avais une autre petite question,mais on ne va pas la traiter.
00:54:34 :Hier, sur les listes, on avait vule zip et le zip longuesspour pouvoir appairerdans deux...Ça existe, ce système-là,aussi, entre dictionnaires,les comparaisons entre dictionnairespour vérifier des choses ?
00:54:50 :Un zip dictionnaire ?Lequel des deux dictionnaires est le plus long ?Au moins, vérifier comment ça s'appaire.C'est-à-dire, pour vérifiercomment, par exemple,la cohérence entredeux dictionnaires.
00:55:08 :On veut...Avec la méthodezip...Non, c'est que pour les listes,je pense.Zip vaconcaténer deux listes.C'est-à-dire que...On va prendre ça.Il est tard, je ne vais pas embêtermon lecteur.
00:55:34 :Je regarderai mon côté.Mettons, on va faire liste 1égale...Si je fais n'importe quoi,ça va pas le faire.Voilà.Un, il y en a eu deux.
00:55:48 :Il y en a eu trois.Hop.Liste 2, voilà.Et là, si je faisliste 3 égalezipliste 1, liste 2et je fais un printde liste 3Hop.
00:56:16 :Il m'a combiné mes deux listes.D'accord ?Et bien ça, ça pourrait servirpar exemple à créer un dictionnaire.Bien sûr.Il va falloir faire un petit peu prioriser.
00:56:28 :Alors mettons, on va mettre un,deux... Ah oui, je vois ce que tu veux faire.Trois...Ce serait les valeurs et l'autre les clés.Et en plus de zipper,je pense que vous avez déjà vu ça pour transformerles valeurs,je crée un dic.
00:56:46 :Oh, ça c'est géant.Ma liste 3et boum, j'ai bien un dictionnairequi a été créé avec, comme clé,les valeurs de la liste 1et comme valeur, les éléments de la liste 2.
00:57:00 :Ah, ça c'est géant.Effectivement, parce que tu fais un modèledans une listequi va devenir tes cléset après tu viens mettre dedansles données que tu as qui étaient dans tes listes.
00:57:12 :Ah ouais, ça c'est géant.Bon, bah écoute,pour ça, alors,il y a un module qui existe pour ça.Je pense que ça,on l'abordera la semaine prochaine.
00:57:24 :Mais pour ceux qui connaissent, par exemple,les fichiers CSV,donc qu'on utilise avec Excel,ça peut typiquement,à partir d'un CSV,aujourd'hui vous ne connaissez pasle module qui correspond bien, donc vous ne savez pasce qu'au commentaire, vous avez un module CSV,un fichier CSV, alors je vais vous faire
00:57:46 :ça vite fait.On va faire unnouveau fichier.Voilà.Nouveau fichier.Le texte, par exemple.Donc un CSV, typiquement, ça va se présenter comme ça.
00:58:04 :On va prendre notre exemple là.2.3.Ensuite, on va avoir nos valeurs.4.5.6.7.Et 9.Donc là, typiquement,si j'enregistre ce fichier là,et que je le mets au format CSV,alors, point virgule ou virgule,les deux se tiennent en CSV,ça va me créer un tableau Excel.
00:58:40 :Sur la première ligne, j'aurai 3 colonnes,chaque colonne aura leur 1, 2 et 3.Ensuite, la valeur 4, 5 et 6.Ensuite, la valeur 7, 8 et 9.
00:58:50 :Typiquement, on pourrait être dans uncas d'usage d'éditionnaire où on a un premier éditionnaireavec comme clé 1, égal à 4, 2,égal à 5, 3, égal à 6.
00:59:00 :Et un deuxième éditionnaire avec la clé 1qui vaut 7, la clé 2qui vaut 8, la clé 3 qui vaut 9.Avec cette méthode là,on pourrait très bien l'utiliser avec une fonctionà bouclage en lisant le fichier textedirectement, je vous passe les détailsparce que là je vous renvoie à la manipulation
00:59:18 :des fichiers, des échelles de caractèreou des éléments qui en sortent.Vous pourriez créer des listespour chaque ligne du fichier,utiliser la première listecomme une référence de clé,et créer des éditionnaires à la suiteavec les valeurs. Donc typiquement,
Aucune occurrence trouvée pour « ».