Un cap pour ce chapitre
Ce que vous saurez faire
- Créer lire et modifier une entrée de dictionnaire
- Parcourir les clés les valeurs et les couples associés
- Utiliser un dictionnaire comme enregistrement nommé
Les bases utiles pour commencer
Une association identifiée par sa clé
Le dictionnaire {"prenom": "Lina", "classe": "1G2", "note": 15} associe trois clés à trois valeurs. L’accès eleve["note"] retrouve 15 sans demander la position du champ. Une clé doit être unique dans un dictionnaire : lui affecter une nouvelle valeur remplace l’association précédente. Plusieurs clés peuvent en revanche posséder la même valeur. Cette organisation convient aux enregistrements dont les champs ont des rôles différents, mais aussi à des correspondances comme un code de station vers une mesure. Le choix des clés traduit la manière dont on souhaite retrouver les informations.
Une clé numérique reste une clé, pas un indice de position. Dans {10: "A", 20: "B"}, l’accès de clé dix retrouve A ; l’accès de clé zéro ne désigne pas la première association. La nature de la structure détermine le sens des crochets.
Créer et modifier une entrée
L’affectation eleve["note"] = 17 met à jour le champ existant. eleve["option"] = "NSI" ajoute une nouvelle association si cette clé est absente. Il faut distinguer la création d’une entrée et la lecture d’une clé manquante : eleve["ville"] lève une erreur si aucun tel champ n’existe. On peut tester "ville" in eleve avant l’accès. Le test in porte ici sur les clés, pas sur les valeurs. Pour un petit enregistrement, préciser les champs attendus dans le contrat évite les différences de nommage comme "note" et "notes".
Une quantité nulle constitue encore une valeur associée à une clé. Affecter zéro à un produit épuisé ne supprime pas automatiquement son entrée. On peut ainsi distinguer un produit connu sans stock d’un produit totalement absent du catalogue.
Parcourir selon l’information utile
Le parcours for cle in d parcourt les clés. La méthode d.keys() rend ce rôle explicite ; d.values() fournit les valeurs ; d.items() fournit les couples clé-valeur. Pour afficher chaque champ avec son contenu, on peut écrire for cle, valeur in d.items(). Pour additionner des quantités stockées comme valeurs, values peut suffire. Le choix du parcours dépend de la question. Les dictionnaires Python conservent l’ordre d’insertion, mais cet ordre ne remplace pas le sens des clés et ne constitue pas un tri alphabétique automatique.
mesures = {"A": 18, "B": 21, "C": 18}
for station, temperature in mesures.items():
print(station, temperature)Le parcours des valeurs ne permet pas toujours de retrouver la clé, car plusieurs clés peuvent partager la même valeur. Si deux stations mesurent dix-huit degrés, rechercher leur nom à partir de la température seule perd cette distinction. Les couples fournis par items() conservent l’association.
Modéliser plutôt que tout stocker sans règle
Une liste d’enregistrements peut représenter plusieurs élèves partageant les mêmes champs. Chaque dictionnaire décrit alors une ligne et chaque clé un descripteur. Des données EXIF d’image constituent également un exemple de champs nommés : dimensions, date ou paramètres de prise de vue, selon les informations présentes. Il faut respecter le domaine de chaque champ et distinguer donnée absente, zéro et texte vide. L’accès par clé améliore la lisibilité, mais ne garantit pas à lui seul que les informations ont été correctement saisies ou qu’un identifiant est adapté.
Une liste d’élèves peut contenir plusieurs prénoms identiques. Utiliser uniquement le prénom comme clé d’un dictionnaire écraserait alors une inscription. Choisissez une clé qui identifie vraiment un objet dans le domaine, ou conservez plusieurs enregistrements dans un tableau.
Construire un compteur d’occurrences
Pour compter les lettres de « cacao », on initialise un dictionnaire vide. À chaque caractère, on crée une entrée de valeur un si la clé manque ; sinon on augmente le compteur existant. Après les deux premiers caractères, les compteurs sont c égal à un et a égal à un. À la fin, c et a valent deux et o vaut un.
Le test d’appartenance porte sur les clés. Il protège la lecture du compteur avant son augmentation. La somme des valeurs finales vaut cinq, égale au nombre de caractères parcourus. Cette propriété constitue une vérification utile du traitement.
Distinguer schéma commun et données facultatives
Deux relevés peuvent partager les champs station et température, tandis qu’un champ pluie manque dans l’un. Les traitements utilisant seulement la température restent possibles si leurs autres préconditions sont satisfaites. Un calcul sur la pluie doit d’abord définir ce que signifie l’absence.
Pour une moyenne, remplacer une mesure manquante par zéro change à la fois la somme et le nombre d’observations. Une approche possible conserve l’absence puis calcule sur les seules mesures disponibles, en annonçant leur effectif. Le dictionnaire facilite les accès par nom ; la validité des calculs dépend toujours du contrat des champs et des décisions sur les valeurs manquantes.
À vous de faire varier les choses
Une clé, une association
Ajoutez ou remplacez une quantité, puis choisissez comment parcourir le dictionnaire. Les entrées et le résultat du parcours restent visibles.
Lire le résultat de l’expérience initiale
Association remplacée
La clé pomme identifie une seule entrée. Le parcours items choisit les informations produites.
| Clé | Valeur |
|---|---|
| pain | 3 |
| pomme | 6 |
| lait | 2 |
Modifier une valeur et créer une clé sont deux opérations différentes. Le parcours doit montrer les informations dont l’algorithme a besoin.
De la compréhension à l’autonomie
À vous de résoudre
Cherchez d’abord par vous-même. Vérifiez les résultats demandés, utilisez les indices si nécessaire, puis comparez votre méthode à la correction.
Une clé remplacée
On crée d = {"A": 4, "B": 7}, puis on exécute d["A"] = 9 et d["C"] = 4. Donnez le contenu final et sa longueur.
Indice 1
La première affectation vise une clé existante.
Indice 2
La seconde ajoute une clé nouvelle.
Comprendre la correction
Le dictionnaire devient {"A": 9, "B": 7, "C": 4} et sa longueur vaut 3. La valeur 4 initialement associée à A est remplacée ; elle apparaît ensuite pour C. Le nombre d’entrées dépend des clés distinctes, pas du nombre d’affectations effectuées ni des valeurs différentes.
Tester le bon ensemble
Pour d = {"rouge": 3, "bleu": 5}, que valent "rouge" in d et 3 in d ? Comment chercher la valeur 3 ?
Indice 1
L’opérateur in appliqué au dictionnaire examine les clés.
Indice 2
La méthode values permet d’accéder aux valeurs.
Comprendre la correction
"rouge" in d vaut True et 3 in d vaut False, car les clés sont les deux couleurs. Pour rechercher parmi les valeurs, on peut écrire 3 in d.values(), qui vaut True. Cette différence est essentielle lorsqu’une donnée numérique peut être une clé dans un autre modèle.
Choisir le parcours
Un dictionnaire stocke {"pain": 3, "pomme": 8, "lait": 2}. Quel parcours permet de calculer la quantité totale ? Lequel permet d’afficher produit et quantité ensemble ?
Indice 1
La somme ne nécessite que les quantités.
Indice 2
L’affichage doit conserver chaque association.
Comprendre la correction
Pour la somme, on parcourt stock.values() et on additionne 3, 8 et 2, soit 13. Pour afficher produit et quantité, on parcourt stock.items() et on décompose chaque couple. Parcourir seulement les clés obligerait à relire stock[produit], ce qui reste possible mais exprime moins directement le besoin.
Une absence n’est pas zéro
Un relevé ne contient pas la clé "pluie". Pourquoi ajouter automatiquement une valeur zéro peut-il déformer les données ? Proposez une distinction utile.
Indice 1
Zéro peut être une mesure réelle.
Indice 2
L’absence peut signifier que le capteur n’a rien transmis.
Comprendre la correction
Zéro millimètre affirme qu’aucune pluie n’a été mesurée. Une clé absente peut signifier qu’aucune mesure n’est disponible. Les confondre fausse une moyenne ou une interprétation météorologique. Il faut conserver une convention explicite pour les données manquantes et ne remplacer par zéro que si le domaine justifie réellement cette décision.
Compter les lettres sans clé manquante
Construisez les compteurs de « cacao » dans un dictionnaire. Donnez l’état après trois caractères puis l’état final. Expliquez le test préalable à une augmentation et vérifiez le nombre total de lettres à partir des compteurs.
Indice 1
Une première occurrence crée la clé.
Indice 2
Les occurrences suivantes lisent et augmentent sa valeur.
Comprendre la correction
Après c, a, c, les compteurs valent c deux et a un. À la fin, c vaut deux, a deux et o un. Avant de lire le compteur, on teste si la lettre appartient au dictionnaire ; sinon on crée son entrée. La somme deux plus deux plus un redonne cinq caractères.
Un prénom qui écrase une inscription
On mémorise successivement les inscriptions (17, Lina, 1G1) et (28, Lina, 1G2) dans un dictionnaire dont la clé est le prénom. Combien d’entrées restent après deux affectations ? Proposez une meilleure clé et expliquez la condition nécessaire.
Indice 1
Une clé ne possède qu’une association à la fois.
Indice 2
Les identifiants fournis sont distincts.
Comprendre la correction
Une seule entrée Lina reste ; la seconde affectation remplace la première. Utiliser les identifiants 17 et 28 conserve deux dossiers, à condition que ces identifiants soient uniques selon le modèle. Les prénoms ne remplissent pas cette condition. Le choix de clé doit être décidé avant l’import pour éviter une perte silencieuse.
Zéro ou absence dans une moyenne
Trois relevés de pluie donnent 0, 6 et une valeur absente. Selon la règle « moyenner seulement les mesures reçues », calculez la moyenne et l’effectif. Comparez avec le remplacement de l’absence par zéro. Expliquez ce qui est modifié.
Indice 1
Le zéro réellement reçu est une observation valide.
Indice 2
La valeur absente ne compte pas dans l’effectif choisi.
Comprendre la correction
Avec les seules mesures reçues, la somme vaut six et l’effectif deux : la moyenne vaut trois. Remplacer l’absence par zéro donnerait un effectif trois et une moyenne deux. Cela inventerait une mesure et modifierait le résultat. Il faut annoncer la règle et conserver le nombre de mesures utilisées.
Les erreurs qui méritent un détour
- Chercher une
valeur avec insans préciser le parcours - Dans un dictionnaire,
in examine les clés ; utilisez valuespour les valeurs. - Inventer une
valeurpour une donnée manquante - Choisissez une convention qui distingue absence et mesure réelle, puis documentez-la.
La fiche à garder
L’essentiel à retenir
- Une clé identifie une association unique.
keys, values et itemsrépondent à des besoins différents.- Les champs nommés doivent garder un sens et un domaine cohérents.
Cette notion au bac
Retrouvez ces idées dans un sujet complet, avec des indices, une correction expliquée et des ateliers.
- Bac 2026 · Centres étrangers groupe 1 · Jour 1 : Carré de Polybe : générer une grille et convertir les coordonnées
- Bac 2026 · Banque nationale · Sujet 2 : Salaires, dictionnaires et biais des k plus proches voisins
- Bac 2026 · Banque nationale · Sujet 4 : Croissance des plantes et suppression dans une liste
- Bac 2026 · Banque nationale · Sujet 5 : Empreinte carbone et parcours récursif de dictionnaires
Le prochain pas
Retrouver le catalogue de Première
Ce chapitre s’appuie sur le programme officiel de Première (PDF, nouvel onglet). Les explications et exercices sont proposés pour l’apprentissage.
