Aller au contenu

Numérique et sciences informatiques (spécialité) · Première

Les dictionnaires en Python : cours de Première NSI

Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur

L'essentiel

  • Un dictionnaire met en relation des clés et des valeurs : on retrouve une donnée à partir de sa clé, pas de sa position 1.
  • Les opérations de base : ajouter ou modifier une association, lire la valeur d'une clé, supprimer une association, tester la présence d'une clé 2.
  • Python propose les dictionnaires de façon native : ils servent à représenter des p-uplets nommés, des tables de correspondance et des compteurs 2.
  • On parcourt un dictionnaire par ses clés, ses valeurs ou ses couples (clé, valeur) ; on évite de modifier sa taille pendant le parcours.
  • Pièges classiques : lire une clé absente, croire qu'une clé peut apparaître deux fois, confondre clé et valeur.

Pourquoi des dictionnaires ?

Tu connais déjà les tableaux (les listes de Python) : pour retrouver un élément, il faut connaître sa position, c'est-à-dire son indice. Si tu stockes les notes d'un élève dans [14, 17, 12], rien ne te dit que 17 est la note de NSI. Tu dois te souvenir que l'indice 1 correspond à cette matière.

Tu connais aussi les p-uplets et les p-uplets nommés : un p-uplet nommé regroupe plusieurs informations, chacune étant repérée par un nom (un champ) plutôt que par un numéro. Le dictionnaire généralise cette idée : on repère chaque donnée par une étiquette, que l'on choisit librement.

Dans la vie courante, le mot « dictionnaire » désigne d'abord un ouvrage de référence : un ensemble de mots présentés généralement par ordre alphabétique, avec pour chacun une définition, une explication ou une correspondance comme un synonyme ou une traduction 3. Le principe est exactement celui que tu vas utiliser en programmation : tu cherches un mot (la clé) et tu obtiens ce qui lui est associé (la valeur). Le mot français vient d'ailleurs du latin médiéval dictionarium, lui-même dérivé de dictio, « action de dire » 3.

En informatique, un dictionnaire est une structure de données : une manière d'organiser des informations pour pouvoir les retrouver et les modifier. Le programme de Première range les dictionnaires parmi les types construits, avec les p-uplets 1. Le programme encourage leur emploi afin de réduire le nombre de syntaxes différentes à manipuler 2 : un seul outil sert ainsi à plusieurs usages.

Définition : clés et valeurs

Prenons un exemple concret. On veut mémoriser l'âge de trois personnes. Les clés sont les prénoms, les valeurs sont les âges :

Clé Valeur
"Léa" 16
"Hugo" 15
"Inès" 17

Pour connaître l'âge de Hugo, tu ne cherches pas « la deuxième ligne » : tu demandes la valeur associée à la clé "Hugo". C'est la différence essentielle avec un tableau.

Clés et valeurs d'un dictionnaire
CléValeur
"Léa"16
"Hugo"15
"Inès"17
Clés et valeurs d'un dictionnaire · Chaque clé est reliée à une seule valeur.

Créer un dictionnaire en Python

Le type des dictionnaires est présent nativement dans Python 2 : tu n'as rien à importer. On écrit un dictionnaire entre accolades, avec des couples clé: valeur séparés par des virgules.

Pour créer un dictionnaire vide, on écrit simplement deux accolades : d = {}. On le remplit ensuite association par association, ce qui est très fréquent dans les programmes qui lisent des données une par une.

Un dictionnaire peut contenir des valeurs de types différents. Voici une fiche d'élève :

eleve = {"nom": "Martin", "prenom": "Zoé", "age": 16, "notes": [14, 17, 12]}

Ici les clés sont des noms de champs et la valeur de la clé "notes" est elle-même un tableau. Tu retrouves l'esprit d'un p-uplet nommé, avec plus de souplesse.

Les opérations de base

Pour définir un type de données, il faut surtout dire quelles opérations il autorise 2. Pour un dictionnaire, l'opération centrale consiste à ajouter une association : à partir d'une clé et d'une valeur, on décide que cette valeur sera associée à cette clé 2. Voyons les opérations usuelles avec leur syntaxe Python.

Les opérations de base sur un dictionnaire d
OpérationSyntaxeEffet
Ajouter ou modifierd[cle] = valeurAssocie la valeur à la clé
Lired[cle]Renvoie la valeur de la clé
Supprimerdel d[cle]Retire l'association
Testercle in dTrue si la clé est présente
Les opérations de base sur un dictionnaire d · Syntaxe Python des opérations usuelles.

Parcourir un dictionnaire

Parcourir un dictionnaire, c'est traiter toutes les associations une à une. Python propose trois façons, selon ce dont tu as besoin : les clés, les valeurs, ou les deux.

Dictionnaires et p-uplets nommés

Tu as vu en classe les p-uplets nommés. Le programme de Première présente ces types construits ensemble : tableaux, dictionnaires et p-uplets 1. En Python, un dictionnaire est un bon moyen de représenter un p-uplet nommé : les champs deviennent les clés.

On combine souvent les deux idées : un tableau de dictionnaires pour stocker une table de données.

eleves = [
    {"nom": "Martin", "age": 16},
    {"nom": "Durand", "age": 15},
]
for e in eleves:
    print(e["nom"])

Cette organisation ressemble à un fichier de données où chaque ligne est un enregistrement et chaque clé un nom de colonne. Tu la retrouveras dans le thème du traitement de données en tables.

Méthode : compter des occurrences

L'un des usages les plus fréquents d'un dictionnaire est le compteur : on parcourt des données et on retient, pour chaque donnée, combien de fois elle apparaît. La clé est la donnée observée, la valeur est son nombre d'apparitions.

Construire un compteurQuatre étapes : créer un dictionnaire vide, parcourir les données, tester la clé, lire le résultat.1InitialiserCréer le dictionnaire vide compte = {}2ParcourirPrendre les données une par une3TesterClé présente : ajouter 1 ; sinon créer avec 14LireLe dictionnaire contient les effectifs
  1. InitialiserCréer le dictionnaire vide compte = {}
  2. ParcourirPrendre les données une par une
  3. TesterClé présente : ajouter 1 ; sinon créer avec 1
  4. LireLe dictionnaire contient les effectifs
Construire un compteur

Le même schéma permet de regrouper : au lieu de compter, on range chaque donnée dans un tableau associé à sa clé. Par exemple, regrouper des prénoms selon leur première lettre donne un dictionnaire dont les valeurs sont des tableaux. Il suffit de créer le tableau vide la première fois qu'une clé apparaît, puis d'y ajouter les éléments suivants.

Dictionnaire ou tableau : choisir

Aucune structure n'est meilleure dans l'absolu. Le bon réflexe consiste à identifier la question que pose le programme.

Erreurs fréquentes et contrôles

Exercices corrigés

Exercice 1 Moyenne à partir d'un dictionnaire de notes

★☆☆Environ 8 min

Un élève note ses résultats dans le dictionnaire suivant :

notes = {"maths": 14, "nsi": 16, "anglais": 12, "histoire": 18}
  1. Écris une boucle qui calcule la somme des notes.
  2. Quelle est la moyenne des quatre notes ?
Indice 1

Les notes sont les valeurs du dictionnaire : pense à values().

Indice 2

La moyenne est la somme divisée par le nombre d'associations, donné par len.

Voir la correction pas à pas
  1. On initialise somme = 0, puis on parcourt notes.values() avec une boucle for note in notes.values(): et on écrit somme = somme + note.

  2. La somme vaut 14+16+12+18=6014 + 16 + 12 + 18 = 60.

  3. Le nombre de notes est len(notes), soit 4.

  4. La moyenne vaut 604=15\dfrac{60}{4} = 15.

La moyenne est 15. Parcourir les valeurs suffit quand les clés ne servent pas au calcul.

Exercice 2 Compter les apparitions d'un élément

★★☆Environ 12 min

On lit successivement les lettres de la liste ["b", "a", "b", "c", "a", "b"] et on construit un dictionnaire compte qui associe à chaque lettre son nombre d'apparitions.

  1. Écris le code qui construit compte.
  2. Quelle est la valeur associée à la clé "b" à la fin ?
  3. Combien de clés contient le dictionnaire ?
Indice 1

Pour chaque lettre, deux cas : elle est déjà une clé, ou non.

Indice 2

Le nombre de clés est le nombre de lettres différentes.

Voir la correction pas à pas
  1. On crée compte = {} puis on écrit for l in liste: avec le test if l in compte: pour augmenter de 1, et else: pour créer l'association avec la valeur 1.

  2. On suit les lettres : b donne 1, a donne 1, b passe à 2, c donne 1, a passe à 2, b passe à 3.

  3. À la fin, compte vaut {"b": 3, "a": 2, "c": 1}. La valeur de "b" est donc 3.

  4. Le dictionnaire contient 3 clés, et la somme des valeurs 3+2+1=63 + 2 + 1 = 6 retrouve la longueur de la liste.

La valeur associée à "b" est 3. Vérifier que la somme des valeurs égale la longueur de la liste est un bon contrôle.

Exercice 3 Mettre à jour un stock

★★★Environ 15 min

Un magasin gère son stock avec le dictionnaire :

stock = {"stylo": 12, "cahier": 5, "règle": 7}

On exécute dans l'ordre :

stock["stylo"] = stock["stylo"] - 4
stock["cahier"] = stock["cahier"] + 10
del stock["règle"]
stock["gomme"] = 6
  1. Écris le contenu final du dictionnaire.
  2. Combien d'articles y a-t-il en tout dans le stock final ?
Indice 1

Exécute les instructions une par une et réécris le dictionnaire à chaque étape.

Indice 2

Le total est la somme des valeurs, pas le nombre de clés.

Voir la correction pas à pas
  1. Après la première instruction, stock["stylo"] vaut 12−4=812 - 4 = 8.

  2. Après la deuxième, stock["cahier"] vaut 5+10=155 + 10 = 15.

  3. La suppression retire l'association de la clé "règle" ; la dernière instruction crée l'association "gomme": 6.

  4. Contenu final : {"stylo": 8, "cahier": 15, "gomme": 6}.

  5. Total : 8+15+6=298 + 15 + 6 = 29 articles.

Le stock final compte 29 articles pour 3 références. Ne confonds pas le nombre de clés (3) avec la somme des valeurs (29).

Quiz

7 questions · correction immédiate · ton score reste sur ton appareil.

  1. Dans le dictionnaire d = {"a": 3, "b": 7}, que vaut d["b"] ?

  2. Que renvoie l'expression 3 in {"a": 3, "b": 7} ?

  3. On exécute d = {}, puis d["x"] = 1, puis d["x"] = 5. Combien d'associations contient d ?

  4. Dans un dictionnaire, chaque clé est reliée à une valeur, ce qui permet de retrouver une donnée sans connaître sa position.

  5. Quelles instructions permettent d'ajouter ou de modifier une association ?

    Plusieurs réponses possibles.

  6. Que fait une boucle for x in d: lorsque d est un dictionnaire ?

  7. Quelle est la somme des valeurs de {"a": 2, "b": 5, "c": 9} ?

Les questions qu'on se pose

Quelle est la différence entre un dictionnaire et un tableau ?

Dans un tableau, une donnée se retrouve par sa position (un indice entier). Dans un dictionnaire, elle se retrouve par sa clé, que tu choisis 1. Le tableau convient aux suites ordonnées, le dictionnaire aux informations repérées par un nom.

Pourquoi utiliser un dictionnaire plutôt qu'un p-uplet nommé ?

Le programme préfère s'appuyer sur les dictionnaires pour que tu aies moins de notations différentes à retenir 2. Un dictionnaire peut représenter un p-uplet nommé, à condition de ne pas le modifier ensuite, afin de respecter le comportement du p-uplet 2.

Que se passe-t-il si je lis une clé qui n'existe pas ?

Python arrête le programme avec une erreur. Pour l'éviter, teste d'abord cle in d, ou utilise d.get(cle, valeur_par_defaut), qui renvoie la valeur par défaut quand la clé est absente.

Peut-on avoir deux fois la même valeur dans un dictionnaire ?

Oui. Seules les clés doivent être distinctes, puisque chaque clé ne porte qu'une valeur. Plusieurs clés différentes peuvent très bien avoir la même valeur : deux élèves peuvent avoir 15 ans.

Qu'est-ce qui peut tomber à l'évaluation sur ce chapitre ?

On te demande en général d'exécuter à la main un court programme sur un dictionnaire, de compléter un compteur d'occurrences, de choisir entre dictionnaire et tableau pour une situation, ou d'écrire une fonction qui construit un dictionnaire à partir de données. Entraîne-toi à suivre pas à pas l'état du dictionnaire après chaque instruction.

Sources

  1. Ressource Éduscol NSI — Dictionnaires et types construits, Éduscol. Consulté le 6 novembre 2026.
  2. Ressource Éduscol NSI — Structure de données dictionnaire, Éduscol. Consulté le 6 novembre 2026.
  3. Dictionnaire, Wikipédia. Consulté le 6 novembre 2026.
  4. Dictionnaire historique de la Suisse, Wikipédia. Consulté le 6 novembre 2026.

Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2 Bientôt
  • CM1 Bientôt
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page