QCM : Dictionnaires Python — 20 questions

Questions et réponses du QCM

1. Quelle structure Python associe des clés à des valeurs et délimite ses éléments par des accolades?

Un dictionnaire de type dict
Un tuple contenant des paires de données
Un ensemble regroupant des valeurs uniques
Une liste composée d’éléments ordonnés

Un dictionnaire de type dict

Explication

Un dictionnaire Python est un objet de type dict qui relie chaque clé à une valeur et dont les éléments sont écrits entre accolades. Une liste, un tuple ou un ensemble ne repose pas sur cette association clé-valeur.

2. Quelle écriture crée correctement un dictionnaire contenant trois couples clé-valeur?

mon_dico = [cle1 : val1, cle2 : val2, cle3 : val3]
mon_dico = {cle1 : val1, cle2 : val2, cle3 : val3}
mon_dico = {cle1, val1, cle2, val2, cle3, val3}
mon_dico = {cle1, val1 : cle2, val2 : cle3, val3}

mon_dico = {cle1 : val1, cle2 : val2, cle3 : val3}

Explication

La création d’un dictionnaire utilise des accolades, des deux-points entre chaque clé et sa valeur, puis des virgules entre les couples. Les crochets indiquent une liste et les autres écritures ne respectent pas l’organisation clé-valeur.

3. Si un dictionnaire contient quatre couples clé-valeur, quelle valeur renvoie len(mon_dico) ?

8
La somme des longueurs des valeurs
Le nombre de caractères des clés
4

4

Explication

La fonction len renvoie le nombre de couples clé-valeur enregistrés dans le dictionnaire. Elle ne compte pas séparément les clés et les valeurs, ce qui exclut le résultat 8.

4. Quelle instruction ajoute l’association « balise »–« tag » à mon_dico ?

mon_dico{'balise'} = 'tag'
mon_dico['balise', 'tag']
mon_dico['balise'] = 'tag'
mon_dico('balise') = 'tag'

mon_dico['balise'] = 'tag'

Explication

L’affectation d’une valeur entre crochets permet d’ajouter une nouvelle clé et sa valeur associée. Les accolades servent à écrire la structure initiale, tandis que les parenthèses et la dernière forme ne réalisent pas cette affectation.

5. Que renvoie l’expression monDictionnaire[maCle] lorsque maCle existe dans le dictionnaire ?

La valeur associée à maCle
Le nombre total de couples
La position numérique de maCle
La liste de toutes les clés

La valeur associée à maCle

Explication

L’écriture entre crochets avec une clé demande directement la valeur qui lui est associée. Elle ne recherche pas une position numérique comme dans un tableau et ne renvoie pas la structure globale du dictionnaire.

6. Que se passe-t-il lorsqu’un programme tente d’accéder à une clé absente d’un dictionnaire ?

Une nouvelle clé vide est créée automatiquement
Une erreur KeyError interrompt le programme
Le dictionnaire est converti en liste
La valeur de la clé précédente est renvoyée

Une erreur KeyError interrompt le programme

Explication

L’accès à une clé inexistante provoque une erreur KeyError, ce qui interrompt l’exécution si l’erreur n’est pas traitée. Python ne crée pas automatiquement une clé vide et ne remplace pas le dictionnaire par une liste.

7. Quelle combinaison décrit correctement les clés valides d’un dictionnaire Python ?

Elles sont toutes des chaînes de caractères de même longueur
Elles sont mutables et doivent partager le même type
Elles sont nécessairement des nombres sans valeur répétée
Elles sont non mutables et peuvent avoir des types différents

Elles sont non mutables et peuvent avoir des types différents

Explication

Une clé doit être non mutable, mais un même dictionnaire peut combiner des clés de types différents. Les chaînes et les nombres ne constituent donc pas les seules possibilités, et les clés n’ont pas à partager un type commun.

8. Quelle affirmation compare correctement une liste et un tuple utilisés comme clés ?

Une liste est acceptée, tandis que ('bonjour',) provoque TypeError
Les deux sont refusés car les séquences ne sont pas des clés
Une liste provoque TypeError, tandis que ('bonjour',) est accepté
Les deux sont acceptés car leur contenu peut être modifié

Une liste provoque TypeError, tandis que ('bonjour',) est accepté

Explication

Une liste est mutable et provoque donc l’erreur TypeError: unhashable type: 'list' lorsqu’elle sert de clé. Le tuple ('bonjour',) est non mutable et peut être utilisé comme clé.

9. Que signifie la mutabilité d’un dictionnaire lorsqu’une de ses valeurs est modifiée ?

Le dictionnaire devient une liste dans la mémoire
Une nouvelle référence remplace automatiquement l’objet initial
Les clés sont supprimées avant la nouvelle affectation
Son contenu change sans que la référence de l’objet change

Son contenu change sans que la référence de l’objet change

Explication

La mutabilité signifie que le contenu du dictionnaire peut être modifié tout en conservant la même référence en mémoire. Cette situation se distingue d’une réaffectation qui peut faire pointer une variable vers un autre objet.

10. Que renvoie l’expression ’loop’ in mon_dico\text{'loop'} \text{ in mon\_dico} lorsque « loop » est une valeur du dictionnaire mais pas une clé ?

La valeur associée à « loop »
True, car l’opérateur cherche toute occurrence
Une erreur signalant l’absence de la clé
False, car l’opérateur teste les clés

False, car l’opérateur teste les clés

Explication

L’opérateur in appliqué à un dictionnaire vérifie la présence d’une clé et renvoie False si « loop » n’est pas une clé. Il ne recherche pas les valeurs, même si l’une d’elles contient cette chaîne.

11. Que fait la fonction incrementer lorsqu’elle reçoit une clé déjà présente dans un dictionnaire ?

Elle augmente de un la valeur associée à cette clé
Elle crée une seconde entrée portant la même clé
Elle supprime la clé après avoir lu sa valeur
Elle remplace la valeur par une nouvelle clé

Elle augmente de un la valeur associée à cette clé

Explication

Pour une clé existante, incrementer ajoute un à la valeur qui lui est associée. La création d’une entrée avec la valeur 1 concerne le cas où la clé n’est pas encore présente.

12. Que renvoie la méthode keys() appliquée à un dictionnaire ?

Une liste contenant les couples clé-valeur
Un ensemble contenant les valeurs du dictionnaire
Un ensemble contenant les clés du dictionnaire
Une valeur unique correspondant à la dernière clé

Un ensemble contenant les clés du dictionnaire

Explication

La méthode keys() fournit un ensemble de clés que l’on peut parcourir avec une boucle for. La méthode values() concerne les valeurs, tandis qu'items() fournit les couples clé-valeur.

13. Dans le code suivant, que permet de faire la boucle `for cle in ingredients.keys():` ?

Parcourir les valeurs puis reconstruire leurs clés associées
Parcourir les clés puis lire chaque valeur avec ingredients[cle]
Parcourir les couples complets sans utiliser d’indexation
Parcourir les clés en ignorant les valeurs correspondantes

Parcourir les clés puis lire chaque valeur avec ingredients[cle]

Explication

La boucle reçoit chaque clé, et l’expression ingredients[cle] permet ensuite d’accéder à la valeur associée. Une boucle sur values() fournit des valeurs, mais pas les clés nécessaires à cette indexation.

14. Quelle valeur renvoie lire_cle lorsqu’on lui demande une clé absente du dictionnaire ?

None
0
Une chaîne vide
La dernière valeur enregistrée

None

Explication

La fonction lire_cle renvoie None lorsque la clé recherchée n’existe pas. Elle renvoie la valeur associée dans le cas où la clé est présente, et non une valeur par défaut comme 0.

15. Que renvoie la méthode values() appliquée à un dictionnaire ?

Un ensemble contenant les valeurs du dictionnaire
Une clé choisie parmi celles du dictionnaire
Un ensemble de tuples clé-valeur
Un ensemble contenant les clés du dictionnaire

Un ensemble contenant les valeurs du dictionnaire

Explication

La méthode values() fournit un ensemble contenant les valeurs du dictionnaire. Les clés sont obtenues avec keys(), tandis que les couples sont obtenus avec items().

16. Que reçoit la variable valeur dans la boucle `for valeur in ingredients.values():` ?

Chaque valeur du dictionnaire, sans la clé associée
Chaque tuple contenant une clé et sa valeur
Chaque position occupée par une entrée
Chaque clé du dictionnaire, sans sa valeur associée

Chaque valeur du dictionnaire, sans la clé associée

Explication

La boucle sur values() parcourt directement les valeurs et ne fournit pas les clés correspondantes. Pour accéder aux clés ou modifier leurs valeurs, il faut parcourir les clés du dictionnaire.

17. Quel type d’éléments la méthode items() renvoie-t-elle pour un dictionnaire ?

Des clés isolées sans leurs valeurs
Des tuples réunissant chaque clé et sa valeur
Des valeurs isolées sans leurs clés
Des chaînes représentant les entrées

Des tuples réunissant chaque clé et sa valeur

Explication

La méthode items() renvoie des tuples contenant chaque clé avec la valeur qui lui est associée. Cette structure permet notamment de récupérer simultanément les deux éléments d’une entrée.

18. Dans un dictionnaire d’ingrédients, quelle structure convient à la valeur associée à la clé « Farine » pour représenter 250 grammes ?

La chaîne « Farine : 250 g »
La liste (« Farine », « g »)
Le tuple (250, « g »)
La clé (« Farine », 250)

Le tuple (250, « g »)

Explication

La valeur est un tuple qui contient la quantité puis l’unité, soit (250, « g »). La clé « Farine » identifie l’ingrédient et ne constitue pas la valeur elle-même.

19. Lorsqu’un programme multiplie toutes les quantités d’un dictionnaire d’ingrédients par 3, quelle transformation applique-t-il à chaque tuple ?

Il remplace le tuple par la quantité calculée sans unité
Il multiplie l’élément d’indice 0 et conserve celui d’indice 1
Il multiplie l’élément d’indice 1 et conserve celui d’indice 0
Il multiplie les deux éléments du tuple par le facteur

Il multiplie l’élément d’indice 0 et conserve celui d’indice 1

Explication

Le parcours avec items() permet d’accéder à chaque tuple, dont la quantité à l’indice 0 est multipliée tandis que l’unité à l’indice 1 est conservée. Multiplier l’unité modifierait à tort la représentation de la mesure.

20. Après avoir multiplié par deux les ingrédients {'Farine': (250, 'g'), 'Lait': (50, 'cl'), 'Oeufs': (3, ''), 'Sel': (1, 'pincée')}, quelles quantités obtient-on ?

500 g, 100 cl, 6 œufs et 2 pincées
250 g, 50 cl, 3 œufs et 1 pincée
500 cl, 100 g, 6 pincées et 2 œufs
252 g, 52 cl, 5 œufs et 3 pincées

500 g, 100 cl, 6 œufs et 2 pincées

Explication

Le facteur deux s’applique à chaque quantité : 250 devient 500, 50 devient 100, 3 devient 6 et 1 devient 2, sans changer les unités. La deuxième proposition correspond aux quantités avant multiplication.

Révisez avec les flashcards

Mémorisez les réponses avec 37 flashcards sur Dictionnaires Python.

Qu'est-ce qu'un dictionnaire Python ?

Un objet de type dict associant des clés à des valeurs.

Comment crée-t-on un dictionnaire Python avec plusieurs couples clé-valeur ?

En écrivant mon_dico = {cle1 : val1, cle2 : val2, cle3 : val3} avec des virgules entre couples.

Que renvoie la fonction len(mon_dico) ?

Le nombre de couples clé-valeur dans le dictionnaire.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Dictionnaires Python.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM