💻maths

Comprendre les dictionnaires en Python en NSI

5 juin 2026 7 min de lecture

Les dictionnaires sont l'un des types de données les plus puissants en Python. En NSI, tu les rencontreras souvent pour stocker des informations structurées, comme les données d'un utilisateur ou les paramètres d'une configuration. Dans cet article, on va voir ensemble ce qu'est un dictionnaire, comment l'utiliser, et pourquoi il est essentiel pour tes projets et pour le bac.

Qu'est-ce qu'un dictionnaire en Python ?

Un dictionnaire (type dict) est une collection non ordonnée de paires clé-valeur. Chaque clé est unique et permet d'accéder rapidement à sa valeur associée. Contrairement aux listes indexées par des entiers, les dictionnaires utilisent des clés qui peuvent être de différents types immuables (chaînes, nombres, tuples).

Syntaxe de base

mon_dict = {"nom": "Alice", "age": 17, "classe": "Terminale"}

Ici, les clés sont "nom", "age", "classe" et les valeurs correspondantes sont "Alice", 17, "Terminale".

Opérations courantes sur les dictionnaires

Voici les principales opérations que tu dois maîtriser en NSI :

  • Accès à une valeur : mon_dict["nom"] retourne "Alice".
  • Ajout/modification d'une paire : mon_dict["ville"] = "Paris" ajoute une nouvelle clé, ou modifie la valeur si la clé existe déjà.
  • Suppression : del mon_dict["age"] supprime la paire.
  • Vérification d'existence : "nom" in mon_dict retourne True.
  • Parcourir les clés : for cle in mon_dict: print(cle)
  • Parcourir les valeurs : for valeur in mon_dict.values(): print(valeur)
  • Parcourir les paires : for cle, valeur in mon_dict.items(): print(cle, valeur)

Pourquoi utiliser un dictionnaire plutôt qu'une liste ?

Les dictionnaires sont idéaux quand tu veux associer des informations de manière claire. Par exemple, pour stocker les notes d'un élève :

notes = {"maths": 15, "nsi": 18, "physique": 12}
print(notes["nsi"])  # Affiche 18

Avec une liste, tu devrais retenir l'index de chaque matière, ce qui est moins lisible. De plus, la recherche par clé est très rapide (complexité O(1) en moyenne).

Cas d'usage concrets pour le bac NSI

Gestion d'un carnet d'adresses

carnet = {
    "Alice": "alice@example.com",
    "Bob": "bob@example.com"
}
# Ajouter un contact
carnet["Charlie"] = "charlie@example.com"
# Rechercher un email
if "Alice" in carnet:
    print(carnet["Alice"])

Compter les occurrences dans une chaîne

texte = "abracadabra"
compteur = {}
for lettre in texte:
    if lettre in compteur:
        compteur[lettre] += 1
    else:
        compteur[lettre] = 1
print(compteur)  # {'a': 5, 'b': 2, 'r': 2, 'c': 1, 'd': 1}

Tableau associatif pour un jeu

joueur = {
    "nom": "Héros",
    "pv": 100,
    "inventaire": ["épée", "potion"]
}
# Modifier les PV
joueur["pv"] -= 10

Pièges à éviter et bonnes pratiques

  • Clés mutables interdites : tu ne peux pas utiliser une liste comme clé. Utilise un tuple si besoin.
  • Accès sécurisé : utilise mon_dict.get("cle", valeur_par_defaut) pour éviter une erreur si la clé n'existe pas.
  • Copie : mon_dict.copy() crée une copie superficielle. Pour une copie profonde, utilise copy.deepcopy.

Lien avec le programme NSI et le bac

Les dictionnaires sont au programme de Première et Terminale. Au bac, tu peux être amené à les utiliser dans des exercices de programmation, notamment pour des algorithmes de tri, de recherche ou de gestion de données. Maîtrise les méthodes keys(), values(), items(), get() et la compréhension de dictionnaire.

Compréhension de dictionnaire

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

Cette syntaxe concise est très appréciée aux examens.

Pour aller plus loin

Si tu rencontres des erreurs avec les dictionnaires, n'hésite pas à consulter notre guide sur les erreurs Python courantes. Tu peux aussi revoir les bases avec nos cours NSI et t'entraîner avec des exercices interactifs. Pour des révisions supplémentaires, jette un œil à AlloBac et AlloLycée.

Conclusion

Les dictionnaires sont un outil incontournable en Python. Ils te permettent de structurer tes données de façon claire et efficace. Entraîne-toi à les utiliser dans des petits projets personnels, et tu verras qu'ils deviendront naturels. Bon courage pour tes révisions !

📚 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, tandis qu'un dictionnaire est une collection non ordonnée de paires clé-valeur où l'accès se fait par une clé unique (souvent une chaîne). Les dictionnaires sont plus adaptés pour représenter des données structurées.

Comment ajouter une nouvelle paire clé-valeur dans un dictionnaire Python ?

Il suffit d'affecter une valeur à une nouvelle clé : <code>mon_dict['nouvelle_cle'] = 'valeur'</code>. Si la clé existe déjà, la valeur est mise à jour.

Que se passe-t-il si j'accède à une clé qui n'existe pas dans un dictionnaire ?

Python lève une exception <code>KeyError</code>. Pour éviter cela, utilise la méthode <code>get()</code> : <code>mon_dict.get('cle', 'valeur_par_defaut')</code> retourne la valeur par défaut si la clé n'existe pas.

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

Non, les clés doivent être immuables (non modifiables). Les listes sont mutables, donc elles ne peuvent pas être utilisées comme clés. On peut utiliser un tuple à la place.

Comment parcourir un dictionnaire en Python ?

On peut parcourir les clés avec <code>for cle in mon_dict:</code>, les valeurs avec <code>for valeur in mon_dict.values():</code>, ou les paires avec <code>for cle, valeur in mon_dict.items():</code>.

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 NSI
Pixel