Dans cette leçon vidéo en français, le présentateur explique en détail les dictionnaires Python, une structure de données clé‑valeur. Il commence par les comparer aux listes, soulignant que les dictionnaires utilisent des clés (souvent des chaînes) au lieu d’indices numériques. Il décrit la syntaxe de création (littéraux avec {} et la fonction dict()), les exigences de hachabilité et d’unicité des clés, ainsi que les types acceptables. Il montre comment accéder aux valeurs via l’opérateur [] ou la méthode get, et comment itérer sur les clés, les valeurs ou les paires (items), en utilisant les itérables keys, values et items, ainsi que le déballage de tuples. Il aborde les fonctions utilitaires len et del, puis explique la différence entre l’affectation par référence et la copie indépendante (méthode copy). Il présente la fusion de dictionnaires avec update et précise que les opérateurs de concaténation et de répétition ne s’appliquent pas aux dictionnaires. Enfin, il discute des cas d’usage où les dictionnaires sont préférables aux listes, notamment pour la lisibilité des clés et la gestion de grands ensembles d’éléments. Le ton reste pédagogique et enthousiaste, avec des promesses d’exercices pratiques dans les leçons futures.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle leçon sur le langage de programmation Python. Aujourd'hui, nous allons voir les dictionnaires. Un dictionnaire n'est rien d'autre qu'une structure de données supplémentaire qui s'ajoute aux autres structures et séquences que nous avons vues auparavant, à savoir les listes, les tuples, les chaînes de caractères et les ensembles, sans oublier les séquences range. En réalité, un dictionnaire est surtout semblable à une liste. La principale différence entre les deux réside dans le fait que les éléments d'une liste sont identifiés par des indices qui sont des valeurs numériques, alors que les éléments d'un dictionnaire sont référencés par des clés, qui sont souvent des chaînes de caractères. Imaginez qu'on a la liste identifiée par lst et qui contient les éléments Python et 3. Pour accéder à la valeur Python, on met lst et pour atteindre l'élément 3, on met lst . Avec un dictionnaire, nous allons juste remplacer les indices 0 et 1 par des clés de notre choix. Disons par exemple que la clé que l'on veut associer à la valeur Python est nom et la clé associée à 3 est version. Donc, on peut initialiser notre dictionnaire comme ceci: d est l'identifiant de notre dictionnaire. Il s'agit tout simplement d'une variable que vous pourrez nommer comme vous voulez à condition de respecter les règles relatives aux noms des variables en Python. Les accolades sont là pour délimiter notre dictionnaire. Cette écriture nous rappelle la forme des ensembles, sauf que les éléments d'un dictionnaire sont spécifiés autrement. En effet, chaque élément du dictionnaire est composé de 2 parties: la clé et la valeur. Dans notre cas, la première clé vaut Nom et sa valeur est la chaîne Python. La deuxième clé est Version et sa valeur vaut l'entier 3. Si on affiche le type de la variable d, on aura dict pour dictionnaire. Si on veut créer un dictionnaire de cette façon, il y a certains points qu'il faut retenir: Mis à part les accolades, il faut placer 2 points entre la clé et la valeur. Les clés sont principalement des chaînes de caractères mais ils peuvent aussi être de types autres que des chaînes, comme les entiers, les réels, ou même de types composés comme les tuples. Or, spécifier une clé sous forme d'une liste ou d'un ensemble génère une erreur, car ces types ne sont pas hashables, comme je l'ai souligné dans la vidéo où j'ai traité les ensembles, mais il est très courant que les clés soient une chaîne de caractères. Une clé doit être unique et ne doit pas figurer plusieurs fois dans le même dictionnaire. Notez que le fait de dupliquer une clé ne génère pas forcément une erreur, mais peut facilement créer de la confusion lors de la manipulation du dictionnaire. Puisqu'une clé peut être une chaîne de caractères, alors il peut être constitué de tous les caractères affichables, néanmoins, il est conseillé d'opter pour des chaînes constituées de caractères alphabétiques non accentués. La valeur associée à une clé peut être de n'importe quel type, et elle peut même être un dictionnaire. Pour récupérer une valeur du dictionnaire, nous allons faire comme ceci. En effet, cette écriture est proche de celle utilisée pour les listes et les tuples, sauf qu'au lieu de l'indice, on utilise la clé. On peut également faire appel à la méthode __get__ en spécifiant la clé voulue comme ceci. On peut créer notre dictionnaire autrement. En effet, nous allons initialiser un dictionnaire vide en spécifiant les accolades ouvrantes et fermantes sans rien mettre dedans. Ensuite, nous allons créer les éléments un par un comme ceci. On peut également initialiser un dictionnaire vide à l'aide de la fonction de transtypage dict comme ceci. La fonction len est également supportée par les dictionnaires et elle retourne le nombre d'éléments qu'ils contiennent. Le dictionnaire est une séquence itérable, donc on peut la parcourir à l'aide d'une boucle. En faisant ceci, on affecte à la variable i les clés du dictionnaire et non pas les valeurs. On peut avoir le même résultat en faisant appel à l'itérable keys, c'est-à-dire que l'on souhaite récupérer explicitement les clés du dictionnaire. Si on veut récupérer les valeurs alors on fait appel à l'itérable values comme ceci. Si on veut récupérer à la fois les clés et leurs valeurs associées, alors on fait appel à l'itérable items. Dans ce cas, la variable i est un tuple dont la valeur change à chaque itération de la boucle. Ce tuple est constitué de la clé et de la valeur correspondante. Si on veut récupérer à la fois la clé et la valeur dans 2 variables séparées, alors on fait comme ceci. Dans ce cas, la variable i correspond à la clé et j à la valeur. Si on veut supprimer un élément, alors on fait appel à la fonction del exactement comme pour les listes, sauf qu'on spécifie la clé entre les crochets et non pas l'indice. Comme c'est le cas pour les listes encore, si on affecte un dictionnaire à un autre, alors on procède systématiquement à une affectation par référence. À titre d'exemple, si on initialise le dictionnaire d1 avec les clés nom et version dont les valeurs respectives sont Python et 3, alors le fait d'affecter d1 à d2 signifie que le dictionnaire d1 et d2 ne font qu'un, car ils partagent la même référence. Donc, si on ajoute une troisième clé nommée mode d'exécution à d1, alors c'est comme s'il a été ajouté à d2 aussi. Si vous voulez créer un dictionnaire indépendant mais avec les mêmes valeurs que le dictionnaire d1, alors on fait encore appel à la méthode copie comme ceci. Je vous renvoie vers ma vidéo sur les listes où j'ai expliqué l'affectation de référence un peu plus en détail. Notez que les opérateurs de concaténation et de répétition ne sont pas applicables aux dictionnaires. Néanmoins, On peut fusionner 2 dictionnaires dans un seul à l'aide de la méthode update comme ceci. Dans ce cas, on ajoute les éléments du dictionnaire d2 au dictionnaire d1. La méthode update s'applique au dictionnaire que l'on souhaite étendre, dans ce cas d1, et elle a comme argument le dictionnaire que l'on veut ajouter, c'est-à-dire d2. À la fin, sachez que les dictionnaires s'avèrent utiles si on souhaite créer une séquence qui contient beaucoup d'éléments. Donc, si on optait pour une liste, alors on utiliserait les indices pour accéder à chacun de ces éléments-là, mais il serait un peu compliqué de spécifier directement le bon indice. Par contre, avec un dictionnaire ce serait plus facile, car mémoriser une clé est généralement plus facile que mémoriser un indice numérique. D'ailleurs, il suffit de voir la deuxième clé de notre liste qui est version, on comprend aussitôt que la valeur associée est le numéro de la version, donc c'est plus parlant. Par contre, avec une liste, utiliserait probablement l'indice 1, mais qui ne signifie pas grand-chose, à moins de creuser un peu plus dans le code pour savoir à quoi il correspond. Comme d'habitude, nous aurons l'occasion de mettre en pratique toutes ces notions dans des exemples plus pertinents dans des prochaines leçons. Merci pour votre attention et à la vidéo prochaine.