Les dictionnaires en Python

Un dictionnaire est une collection non ordonnée, modifiable et indexée. En Python, les dictionnaires sont écrits avec des accolades {}, et ils ont des clés et des valeurs.

L’exemple suivant crée et affiche un dictionnaire:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}
print(dictionnaire)

Sortie:

{1: 'Python', 2: 'PHP', 3: 'Java'}

 
 

Accès aux éléments

Vous pouvez accéder aux éléments d’un dictionnaire en vous référant à son clé, entre crochets []. L’exemple suivant récupère la valeur de la clé 1:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

print(dictionnaire[1])

Sortie:

Python

Vous pouvez aussi utiliser la méthode get() qui vous donnera le même résultat:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

print(dictionnaire.get(1))

Sortie:

Python

 

Changer les valeurs d’un dictionnaire

Vous pouvez modifier la valeur d’un élément spécifique en vous référant à son clé. L’exemple suivant change la valeur de la clé 1:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

dictionnaire[1] = "Django"

print(dictionnaire)

Sortie:

{1: 'Django', 2: 'PHP', 3: 'Java'}

 
 

Parcourir un dictionnaire en Python

Vous pouvez parcourir les éléments d’un dictionnaire en utilisant la boucle for. Lorsque vous parcourez un dictionnaire, les valeurs de retour sont les clés du dictionnaire, mais il existe également des méthodes pour renvoyer les valeurs.

L’exemple suivant affiche tous les clés du dictionnaire :

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

for key in dictionnaire:
  print(key)

Sortie:

1
2
3

L’exemple suivant affiche tous les valeurs du dictionnaire :

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

for key in dictionnaire:
  print(dictionnaire[key])

Sortie:

Python
PHP
Java

Vous pouvez également utiliser la méthode values() pour renvoyer les valeurs d’un dictionnaire:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

for val in dictionnaire.values():
  print(val)

Sortie:

Python
PHP
Java

Vous pouvez parcourir les clés et les valeurs à l’aide de la méthode items():

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

for key, value in dictionnaire.items():
  print(key, value)

Sortie:

1 Python
2 PHP
3 Java

 
 

Vérifiez si une clé existe dans un dictionnaire

Pour déterminer si la clé spécifié est présent dans un dictionnaire, utilisez le mot clé in. L’exemple suivant vérifie si la clé 2 est présent dans le dictionnaire:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

if 2 in dictionnaire:
  print("2 existe dans le dictionnaire")

Sortie:

2 existe dans le dictionnaire

 

Longueur d’un dictionnaire

Pour déterminer le nombre d’éléments d’un dictionnaire, utilisez la fonction len(). L’exemple suivant affiche le nombre d’éléments dans le dictionnaire:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

print(len(dictionnaire))

Sortie:

3

 

Ajouter des éléments au dictionnaire

L’ajout d’un élément au dictionnaire se fait en utilisant une nouvelle clé et en lui affectant une valeur:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

dictionnaire[4] = "C++"

print(dictionnaire)

Sortie:

{1: 'Python', 2: 'PHP', 3: 'Java', 4: 'C++'}

 
 

Supprimer un élément du dictionnaire

Il existe plusieurs méthodes pour supprimer des éléments d’un dictionnaire:
 
1- pop()
La méthode pop() supprime l’élément avec la clé spécifié:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

dictionnaire.pop(2)

print(dictionnaire)

Sortie:

{1: 'Python', 3: 'Java'}

 
2- popitem()
La méthode popitem() supprime le dernier élément inséré (dans les versions antérieures de Python 3.7, la méthode popitem() supprime un élément aléatoire):

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

dictionnaire.popitem()

print(dictionnaire)

Sortie:

{1: 'Python', 2: 'PHP'}

 
3- del
Le mot clé del supprime l’élément avec la clé spécifié:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

del dictionnaire[2]

print(dictionnaire)

Sortie:

{1: 'Python', 3: 'Java'}

 
4- clear()
La méthode clear() vide le dictionnaire:

dictionnaire = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

dictionnaire.clear()

print(dictionnaire)

Sortie:

{}

 
 

Dictionnaires imbriqués

Un dictionnaire peut également contenir des dictionnaires, c’est ce qu’on appelle des dictionnaires imbriqués.

persone = {
  "p1" : {
    "nom" : "Alex",
    "age" : 18
  },
  "p2" : {
    "nom" : "Thomas",
    "age" : 25
  },
  "p3" : {
    "nom" : "Yohan",
    "age" : 44
  }
}

 

Copier un dictionnaire

Vous ne pouvez pas copier un dictionnaire simplement en tapant dict2 = dict1, car dict2 ne sera qu’une référence à dict1, et les modifications apportées dans dict1 seront automatiquement apportées dans dict2.

Il existe un moyen de faire une copie, une façon consiste à utiliser la méthode de dictionnaire intégrée copy().

dict1 = {
  1 : "Python",
  2 : "PHP",
  3 : "Java"
}

dict2 = dict1.copy()

print(dict2)

Sortie:

{1: 'Python', 2: 'PHP', 3: 'Java'}

 
QCM Python

2 réflexions sur “Les dictionnaires en Python

  • novembre 8, 2024 à 6:16 pm
    Permalien

    Bonjour, je tiens à vous féliciter pour votre travail. Je regarde actuellement la section python.

    J’aimerais juste vous signaler quelques fautes :

    Dans la page : https://waytolearnx.com/2020/06/les-listes-en-python.html

    vous avez écrit sans accents « referez-vous » au lieu de « référez vous »

    Dans cette même page, vous avez écrit « L’exemple suivant vérifie si la couleur « Red » est présent dans la liste: »

    au lieu de « présente » qui s’accorde avec la couleur

    Dans la page : https://waytolearnx.com/2020/06/les-tuples-en-python.html

    Vous avez écrit avec une apostrophe « Mais il y’a »

    au lieu de « Mais il y a »

    Dans cette page, vous avez fait la même faute qu’avant -> L’exemple suivant vérifie si la couleur « Red » est présent dans le tuple:

    « présent » au lieu de « présente »

    Dans la page : https://waytolearnx.com/2020/06/les-dictionnaires-en-python.html

    Vous avez écrit « L’exemple suivant change la valeur du clé 1: »

    au lieu de « L’exemple suivant change la valeur de la clé 1: »

    Aussi je pense que beaucoup (ça m’est arrivé) confondent « paramètre » et « argument ».

    Dans la page : https://waytolearnx.com/2019/04/args-et-kwargs-en-python.html

    Vous dites : Nous utilisons *args et **kwargs comme argument lorsque nous ne sommes pas certains du nombre d’arguments à transmettre dans les fonctions.

    N’est-ce pas plutôt comme paramètre ?

    Bien entendu, ces petites fautes ne changent en rien la qualité de vos cours. Par expérience, je sais que les fautes sont inévitables quand on monte un site. J’en ai personnellement fait des dizaines, avant de les remarquer des mois ou même des années après 🙂

    Cordialement

    Répondre
    • novembre 8, 2024 à 10:39 pm
      Permalien

      Bonjour Salim, merci beaucoup pour ces remarques, ça m’aide beaucoup.

      En ce qui concerne *args et **kwargs, vous avez raison. Ce sont des paramètres et non pas des arguments.

      Moi aussi, j’étais confondu 😌.

      En fait, ces deux termes sont souvent utilisés de manière interchangeable dans la langue français, mais en programmation, il y a une grande différence. Voici un petit exemple:

      def addition(a, b):  # a et b sont des paramètres
          return a + b
      
      addition(5, 3)  # 5 et 3 sont des arguments

      Merci encore une fois pour votre commentaire encourageant ☺️.

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *