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 pairesAccéder aux valeurs
On utilise la clé entre crochets :
print(d3["a"]) # affiche 1Si 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 10Supprimer
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 : 18Tu 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 !
