Django - 5.4 Les dictionnaires Python : clés et valeurs

Les dictionnaires sont pratiques pour manipuler des données structurées, quand les listes deviennent limitées. On accède à leurs valeurs par des clés, et non par des index. Cette leçon montre comment les créer, les parcourir et les convertir.

Créer un dictionnaire

Un dictionnaire associe des clés à des valeurs. Dans l'exemple, la clé nom reçoit la valeur girafe, puis les clés taille et poids reçoivent leurs valeurs.

animal = {"nom": "girafe", "taille": 5.0, "poids": 1100}

Parcourir un dictionnaire

Une boucle for sur un dictionnaire parcourt ses clés. Pour obtenir la valeur, utilisez la clé entre crochets.

Les méthodes keys(), values() et items() renvoient respectivement les clés, les valeurs, et les paires clé-valeur sous forme de tuples.

for cle in animal:
    print(cle, animal[cle])

Convertir et indexer

Les résultats de keys() et values() ne sont pas indexables : animal[0] renvoie une erreur. Pour obtenir une liste, utilisez la fonction list().

Ces objets restent itérables, ce qui permet de les parcourir avec une boucle.

Ces méthodes renvoient des objets itérables : on peut les parcourir avec une boucle, sans les transformer en liste.

print(list(animal.values()))

Un exemple pour fixer les notions

La vidéo crée un dictionnaire avec des clés et des valeurs, puis l'affiche avec print. Elle le parcourt ensuite avec une boucle for pour voir les clés.

Elle remplace enfin la boucle par des appels à keys(), values() et items(), et compare les résultats affichés.

En résumé

Un dictionnaire associe des clés à des valeurs. On le parcourt avec une boucle, et les méthodes keys(), values() et items() donnent accès à ses éléments. Pour obtenir une liste, utilisez list().

Points clés

  • Un dictionnaire associe une clé à une valeur.
  • On accède aux valeurs par leur clé, et non par un index.
  • Une boucle for sur un dictionnaire parcourt ses clés.
  • items() renvoie les paires clé-valeur sous forme de tuples.
  • list() convertit les clés ou les valeurs en liste.

Questions fréquentes

Pourquoi animal[0] renvoie-t-il une erreur ?

Un dictionnaire n'est pas une séquence indexée par position. Pour accéder à une valeur, utilisez sa clé entre crochets.

Comment afficher les clés et les valeurs ensemble ?

Utilisez la méthode items(), qui renvoie chaque clé avec sa valeur.

Quelle différence avec une liste ?

Une liste est une suite ordonnée accessible par index. Un dictionnaire associe des clés à des valeurs.