💻python

NSI : la checklist pour réussir les dictionnaires en Python

26 juillet 2026 7 min de lecture

Les dictionnaires Python sont une structure de données incontournable en NSI, que ce soit en Première ou en Terminale. Ils te permettent de stocker des informations sous forme de paires clé-valeur, comme un annuaire téléphonique ou un catalogue de notes. Dans cet article, tu vas découvrir tout ce qu'il faut savoir pour les maîtriser : création, accès, modification, méthodes utiles et astuces pour le bac. Prêt à devenir un as du dictionnaire Python NSI ? C'est parti !

Qu'est-ce qu'un dictionnaire Python ?

Un dictionnaire (type dict) est une collection d'éléments indicés par des clés uniques et immuables (généralement des chaînes de caractères, des entiers ou des tuples). Chaque clé est associée à une valeur, qui peut être de n'importe quel type (entier, chaîne, liste, autre dictionnaire, etc.).

Contrairement aux listes qui utilisent des indices numériques, les dictionnaires utilisent des clés explicites. Cela les rend très pratiques pour représenter des données structurées, comme les informations d'un élève :

eleve = { "nom": "Dupont", "prenom": "Marie", "classe": "Terminale", "notes": [15, 12, 18] }

Ici, les clés sont "nom", "prenom", "classe" et "notes". Chaque clé donne accès à sa valeur. On dit que les dictionnaires sont des tableaux associatifs.

Créer et manipuler un dictionnaire

Création

Tu peux créer un dictionnaire vide avec {} ou dict(), ou directement avec des paires clé-valeur :

d1 = {}  # dictionnaire vide
d2 = dict()  # autre façon
d3 = { "a": 1, "b": 2, "c": 3 }  # avec trois paires

Accéder aux valeurs

On utilise la clé entre crochets :

print(d3["a"])  # affiche 1

Si la clé n'existe pas, Python lève une erreur KeyError. Pour éviter ça, utilise la méthode get :

print(d3.get("z", "clé introuvable"))  # affiche "clé introuvable"

Ajouter et modifier

Pour ajouter une nouvelle paire ou modifier la valeur d'une clé existante, on utilise l'affectation :

d3["d"] = 4  # ajoute la clé "d" avec la valeur 4
d3["a"] = 10  # modifie la valeur de "a" qui devient 10

Supprimer

On peut supprimer une paire avec del ou pop :

del d3["b"]  # supprime la clé "b" et sa valeur
valeur = d3.pop("c")  # supprime et renvoie la valeur associée à "c"

Les méthodes essentielles des dictionnaires

Voici les méthodes qu'il faut connaître pour le bac NSI :

  • keys() : renvoie une vue des clés.
  • values() : renvoie une vue des valeurs.
  • items() : renvoie une vue de tuples (clé, valeur).
  • update() : fusionne un autre dictionnaire.
  • clear() : vide le dictionnaire.
  • copy() : fait une copie superficielle (shallow copy).

Exemple :

notes = { "maths": 15, "physique": 12, "NSI": 18 }
for matiere, note in notes.items():
    print(f"{matiere} : {note}")
# Affiche :
# maths : 15
# physique : 12
# NSI : 18

Tu peux aussi utiliser in pour tester l'appartenance d'une clé :

if "NSI" in notes:
    print("La clé NSI existe")

Compréhension de dictionnaires (dictionary comprehension)

Comme pour les listes, Python permet de créer des dictionnaires de manière concise. C'est une syntaxe très élégante et souvent utilisée en NSI :

carres = { x: x**2 for x in range(5) }
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

On peut aussi filtrer :

pairs = { x: x**2 for x in range(10) if x % 2 == 0 }
# {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}

La compréhension de dictionnaire est une compétence attendue en Terminale NSI. Pense à t'entraîner avec des exercices variés pour la maîtriser.

Cas d'usage concrets en NSI

Les dictionnaires sont partout en informatique. Voici quelques exemples typiques du programme :

  • Compteur d'occurrences : compter la fréquence des mots dans un texte.
  • Base de données en mémoire : stocker des fiches élèves ou des produits.
  • Graphes : représenter un graphe sous forme de listes d'adjacence (dictionnaire de listes).
  • Mémoïsation : stocker des résultats de fonctions récursives pour optimiser (ex : Fibonacci).

Exemple de compteur de lettres :

texte = "hello world"
compteur = {}
for lettre in texte:
    if lettre != " ":
        compteur[lettre] = compteur.get(lettre, 0) + 1
print(compteur)
# {'h': 1, 'e': 1, 'l': 3, 'o': 2, 'w': 1, 'r': 1, 'd': 1}

Cet exemple utilise get pour éviter une erreur si la clé n'existe pas encore. C'est une astuce à retenir !

Conseils pour le bac NSI et les révisions

Voici une checklist pour être au top sur les dictionnaires le jour de l'épreuve :

  • ✅ Savoir créer un dictionnaire vide ou initialisé.
  • ✅ Accéder et modifier les valeurs avec les crochets et get.
  • ✅ Utiliser keys(), values(), items() dans des boucles.
  • ✅ Tester l'appartenance avec in.
  • ✅ Écrire une compréhension de dictionnaire simple.
  • ✅ Connaître update, pop, clear.
  • ✅ Éviter les erreurs classiques : KeyError, modification pendant l'itération.

N'oublie pas de t'entraîner sur des exercices types bac. Tu peux consulter la section exercices de notre site pour des sujets corrigés. Si tu bloques sur une erreur, jette un œil à la page erreurs Python pour comprendre les messages d'erreur fréquents.

Pour approfondir, n'hésite pas à consulter les ressources de AlloBac ou AlloLycée qui proposent des fiches et des vidéos sur les dictionnaires.

Conclusion

Les dictionnaires Python sont un outil puissant et flexible. Avec cette checklist, tu as toutes les clés en main pour les utiliser efficacement en NSI. N'oublie pas de pratiquer régulièrement : plus tu coderas, plus ces notions deviendront naturelles. Et si tu veux revoir d'autres concepts, direction le cours NSI en ligne. Bon courage et bon code !

📚 Pour aller plus loin

Questions fréquentes

Quelle est la différence entre une liste et un dictionnaire en Python ?

Une liste est une collection ordonnée d'éléments indexés par des entiers (0, 1, 2...). Un dictionnaire est une collection non ordonnée de paires clé-valeur, où chaque clé est unique et peut être de type immuable (chaîne, entier, tuple). On accède aux valeurs par leur clé, pas par un indice numérique.

Comment éviter une KeyError quand on accède à une clé qui n'existe pas ?

Utilise la méthode get() : d.get('cle', 'valeur_par_defaut'). Si la clé est absente, elle renvoie la valeur par défaut (None si non précisé). Tu peux aussi tester avec if 'cle' in d: avant d'accéder.

Peut-on utiliser une liste comme clé d'un dictionnaire ?

Non, car les listes sont mutables (modifiables) et ne sont pas hashables. Les clés doivent être immuables : entiers, chaînes, tuples (contenant uniquement des éléments immuables).

Comment itérer sur les clés et les valeurs d'un dictionnaire ?

Utilise la méthode items() dans une boucle for : for cle, valeur in d.items():. Tu peux aussi itérer sur les clés avec for cle in d: ou for cle in d.keys():, et sur les valeurs avec for valeur in d.values():.

Qu'est-ce qu'une compréhension de dictionnaire et comment l'utiliser ?

C'est une syntaxe concise pour créer un dictionnaire en une ligne : {cle: valeur for element in iterable if condition}. Par exemple, {x: x**2 for x in range(5)} crée un dictionnaire des carrés des entiers de 0 à 4.

Comment fusionner deux dictionnaires en Python ?

Utilise la méthode update() : d1.update(d2) ajoute les paires de d2 dans d1 (les clés existantes sont écrasées). Depuis Python 3.9, tu peux aussi utiliser l'opérateur | : d3 = d1 | d2.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
dictionnaires Python NSIdict Pythondictionnaire PythonNSI dictionnairePython dict
Pixel