Dictionnaires en Python

1. Qu’est-ce qu’un dictionnaire ?

Un dictionnaire (type dict) est une structure de données associatives.

Il permet de lier une clé à une valeur, un peu comme une table de correspondance ou un répertoire.

🔑 Chaque clé est unique et permet d’accéder rapidement à sa valeur associée.

Exemple d’usage courant : associer le nom d’un élève à sa note.
notes = {'Nathan': 18, 'Julie': 15, 'Ali': 20}

2. Création d’un dictionnaire

a. Syntaxe de base

d = {
    'nom': 'Nathan',
    'âge': 20,
    'ville': 'Paris'
}

b. Dictionnaire vide

d = {}

3. Accès et modification des valeurs

print(d['nom'])       # affiche 'Nathan'
d['âge'] = 21         # modifie la valeur associée à la clé 'âge'
⚠️ Si la clé n’existe pas, une erreur KeyError est levée.

4. Ajouter une nouvelle paire clé/valeur

d['pays'] = 'France'

Python ajoute la nouvelle entrée s’il ne trouve pas la clé.


5. Supprimer une entrée

del d['ville']
⚠️ Cela supprime complètement la paire clé: valeur.

6. Vérifier la présence d’une clé

if 'nom' in d:
    print("Nom présent")

7. Obtenir une valeur sans erreur : get()

valeur = d.get('poids', 0)  # retourne 0 si 'poids' n’existe pas

Très utile pour éviter les erreurs sur les clés absentes.


8. Parcours d’un dictionnaire

a. Parcours des clés

for cle in d:
    print(cle)

ou

for cle in d.keys():
    print(cle)

b. Parcours des valeurs

for valeur in d.values():
    print(valeur)

c. Parcours des paires (clé + valeur)

for cle, valeur in d.items():
    print(cle, "=>", valeur)
📌 Le plus utile pour traiter toutes les données du dictionnaire.

9. Fonctions et méthodes utiles

Méthode / fonctionDescription
len(d)Renvoie le nombre de paires
d.keys()Retourne toutes les clés
d.values()Retourne toutes les valeurs
d.items()Retourne toutes les paires (clé, valeur)
d.get(cle, defaut)Renvoie la valeur si présente, sinon defaut
'cle' in dTeste la présence d'une clé

10. Rappels importants pour le bac

a. Les clés doivent être immuables

Cela signifie que les clés doivent être des entiers, chaînes, tuples (non modifiables)mais jamais des listes.

d = {(1, 2): "ok"}     # ✅ tuple immuable
d = {[1, 2]: "no"}     # ❌ erreur : liste non hachable

b. Les clés sont uniques

Si vous redéclarez une clé, elle écrasera la précédente :

d = {'x': 1, 'x': 2}   # Résultat : {'x': 2}

11. Dictionnaire comme table d'association

Les dictionnaires sont souvent utilisés comme tables de correspondance.

Exemples :


12. Cas particuliers utiles

a. Itérer dans un dictionnaire trié (par clé)

for cle in sorted(d):
    print(cle, d[cle])

b. Suppression sécurisée : pop()

valeur = d.pop('ville', 'non trouvé')
print(valeur)
✅ pop() supprime et renvoie la valeur associée à la clé.

Exemples :

d = {'nom': 'Nathan', 'âge': 17}

val = d.pop('âge')           # val = 17, d devient {'nom': 'Nathan'}
val = d.pop('ville', 'inconnu')  # val = 'inconnu', d reste inchangé

💡 Résumé à connaître :

13. Comparaison avec les listes

OpérationListeDictionnaire
Accès par positionlst[0]❌ Pas possible
Accès rapide à une valeur❌ lent (parcourir tout)✅ rapide (d['clé'])
Organisation en ordre❌ pas garanti (avant 3.7)
Association clé / valeur❌ non✅ oui

🧠 À bien retenir pour le bac

✅ Les dictionnaires sont des structures associatives : une clé ➜ une valeur

✅ Les clés doivent être immuables (int, str, tuple)

✅ On modifie, ajoute, supprime une entrée facilement

✅ Pour éviter les erreurs de clés absentes, utilisez get()

✅ Le parcours avec items() est très utile : for cle, val in d.items()

✅ Très utiles pour compter, indexer, traduire, regrouper des données