QCMUP.COM

Liste QCM Python Corrigé – Partie 7

Entraînez-vous avec des questions corrigées, progressez étape par étape, puis consolidez vos notions grâce aux définitions et explications.

30 questions Réponses expliquées Réviser → Pratiquer
Liste QCM Python Corrigé – Partie 7 – Python

Les dictionnaires et les ensembles (sets) font partie des structures de données les plus utiles en Python, car ils permettent de gérer des informations de manière rapide et organisée.

Un dictionnaire sert à associer une clé unique à une valeur, ce qui facilite la recherche d’une information sans parcourir toute une liste.

Les sets, eux, sont parfaits pour manipuler des collections sans doublons et pour comparer des groupes de valeurs.

En vous entraînant sur ces notions, vous consolidez des bases très demandées en cours, en examens et dans la pratique, notamment la création de structures, l’accès par clé, la mise à jour de contenus et la gestion des erreurs fréquentes.

L’objectif est de vous aider à choisir la bonne structure selon le besoin, à écrire un code plus propre et à éviter les pièges classiques liés aux clés inexistantes, aux doublons et aux opérations de fusion ou de comparaison.

Les dictionnaires et les ensembles (sets) font partie des structures de données les plus utiles en Python, car ils permettent de gérer des informations de manière rapide et organisée.

Un dictionnaire sert à associer une clé unique à une valeur, ce qui facilite la recherche d’une information sans parcourir toute une liste.

Les sets, eux, sont parfaits pour manipuler des collections sans doublons et pour comparer des groupes de valeurs.

En vous entraînant sur ces notions, vous consolidez des bases très demandées en cours, en examens et dans la pratique, notamment la création de structures, l’accès par clé, la mise à jour de contenus et la gestion des erreurs fréquentes.

L’objectif est de vous aider à choisir la bonne structure selon le besoin, à écrire un code plus propre et à éviter les pièges classiques liés aux clés inexistantes, aux doublons et aux opérations de fusion ou de comparaison.

QCM 1 Corrigé

Quel symbole est utilisé pour définir un dictionnaire en Python ?

A. Les crochets [ ]
B. Les parenthèses ( )
C. Les accolades { }
D. Les chevrons < >
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Les dictionnaires utilisent des accolades pour regrouper les paires clés:valeurs.

QCM 2 Corrigé

Comment sont organisées les données dans un dictionnaire ?

A. Par index numérique
B. Par paires clé:valeur
C. Par ordre alphabétique automatique
D. De manière aléatoire uniquement
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Un dictionnaire associe une clé unique à une valeur spécifique pour un accès rapide.

QCM 3 Corrigé

Quelle est la principale caractéristique d'un 'set' (ensemble) en Python ?

A. Il contient des éléments ordonnés
B. Il permet les doublons
C. Il utilise des index négatifs
D. Il ne contient que des éléments uniques
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Un set élimine automatiquement les doublons et ne stocke chaque valeur qu'une seule fois.

QCM 4 Corrigé

Comment accède-t-on à la valeur associée à la clé 'nom' dans un dictionnaire 'd' ?

A. d['nom']
B. d.nom
C. d(nom)
D. d{nom}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
On utilise les crochets avec le nom de la clé pour récupérer la valeur correspondante.

QCM 5 Corrigé

Que se passe-t-il si vous ajoutez un élément déjà existant dans un set ?

A. Le programme s'arrête
B. Le set ignore l'ajout
C. La valeur est ajoutée une deuxième fois
D. Une erreur de syntaxe apparaît
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les sets garantissent l'unicité ; ajouter un doublon n'a aucun effet sur l'ensemble.

QCM 6 Corrigé

Quelle méthode permet de récupérer toutes les clés d'un dictionnaire ?

A. d.get_keys()
B. d.all()
C. d.keys()
D. d.list()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La méthode .keys() renvoie une vue de toutes les clés présentes dans le dictionnaire.

QCM 7 Corrigé

Comment supprimer une paire clé:valeur d'un dictionnaire ?

A. d.remove('clé')
B. d.discard('clé')
C. d.clear()
D. del d['clé']
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Le mot-clé 'del' permet de supprimer une entrée spécifique via sa clé.

QCM 8 Corrigé

Quel type de donnée peut servir de 'clé' dans un dictionnaire ?

A. Seulement des entiers
B. N'importe quel type immuable (str, int, tuple)
C. Des listes
D. D'autres dictionnaires
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une clé doit être 'hachable', donc immuable. Les listes (mutables) ne peuvent pas être des clés.

QCM 9 Corrigé

Comment vérifier si une clé existe dans un dictionnaire 'd' ?

A. if 'clé' in d:
B. if d.has('clé'):
C. if 'clé' exists d:
D. if d.find('clé'):
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur 'in' teste la présence d'une clé parmi les clés du dictionnaire.

QCM 10 Corrigé

Quelle méthode permet d'obtenir une valeur sans risquer d'erreur si la clé n'existe pas ?

A. d.fetch()
B. d.get()
C. d.search()
D. d.value()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
.get() renvoie None (ou une valeur par défaut) au lieu de lever une KeyError.

QCM 11 Corrigé

Quelle est la sortie de : len({'a': 1, 'b': 2, 'a': 3}) ?

A. 3
B. 2
C. 1
D. Erreur
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les clés sont uniques. La seconde occurrence de 'a' écrase la première, il reste 2 paires.

QCM 12 Corrigé

Comment créer un set vide ?

A. s = { }
B. s = [ ]
C. s = set()
D. s = ( )
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
{ } crée un dictionnaire vide par défaut. Pour un set vide, il faut utiliser set().

QCM 13 Corrigé

Quelle méthode ajoute un élément à un set ?

A. s.append()
B. s.push()
C. s.insert()
D. s.add()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
.add() est la méthode spécifique pour insérer une nouvelle valeur dans un ensemble.

QCM 14 Corrigé

Que renvoie d.values() ?

A. Une liste des clés
B. La somme des nombres du dictionnaire
C. Toutes les valeurs contenues dans le dictionnaire
D. Le nombre de paires
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
.values() permet d'accéder uniquement aux contenus associés aux clés.

QCM 15 Corrigé

Comment fusionner le dictionnaire d2 dans d1 ?

A. d1.update(d2)
B. d1.merge(d2)
C. d1.add(d2)
D. d1 + d2
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
.update() intègre les paires d'un autre dictionnaire, écrasant les clés communes.

QCM 16 Corrigé

Lequel de ces objets est un set valide ?

A. {1, 2, 2, 3}
B. [1, 2, 3]
C. set([1, 2, 3])
D. {'un': 1, 'deux': 2}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La fonction set() transforme une liste en ensemble. {1, 2, 2, 3} deviendrait {1, 2, 3}.

QCM 17 Corrigé

Comment vider entièrement un dictionnaire sans le supprimer ?

A. d = { }
B. d.clear()
C. d.remove_all()
D. d.reset()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
.clear() supprime toutes les entrées du dictionnaire en place.

QCM 18 Corrigé

Que permet la méthode .items() ?

A. De compter les éléments
B. De trier le dictionnaire
C. De récupérer les paires (clé, valeur) sous forme de tuples
D. D'ajouter plusieurs objets
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
.items() est idéal pour boucler simultanément sur les clés et les valeurs.

QCM 19 Corrigé

Quelle opération renvoie les éléments communs à deux sets ?

A. L'intersection (&)
B. L'union (|)
C. La différence (-)
D. L'addition (+)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'intersection permet d'isoler les membres présents dans les deux ensembles.

QCM 20 Corrigé

Comment modifie-t-on la valeur d'une clé existante ?

A. d.change('clé', nouvelle_valeur)
B. d['clé'] = nouvelle_valeur
C. d.set('clé', nouvelle_valeur)
D. d.update('clé')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'affectation via la clé remplace l'ancienne valeur par la nouvelle.

QCM 21 Corrigé

Quelle méthode supprime un élément d'un set sans erreur s'il est absent ?

A. s.remove()
B. s.pop()
C. s.discard()
D. s.delete()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
.discard() est plus sûr que .remove() car il ne lève pas d'exception si l'élément n'existe pas.

QCM 22 Corrigé

Peut-on mettre une liste à l'intérieur d'un dictionnaire comme valeur ?

A. Non, c'est interdit
B. Oui, sans problème
C. Seulement si la liste est vide
D. Seulement si les clés sont des nombres
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les valeurs d'un dictionnaire peuvent être de n'importe quel type (listes, objets, etc.).

QCM 23 Corrigé

Quel est le résultat de : {1, 2, 3} | {3, 4, 5} ?

A. {3}
B. {1, 2, 3, 4, 5}
C. {1, 2, 4, 5}
D. {1, 2, 3, 3, 4, 5}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'opérateur | effectue l'union de deux sets, fusionnant les éléments sans doublon.

QCM 24 Corrigé

Comment s'appelle l'erreur si on accède à une clé inexistante avec d['clé'] ?

A. ValueError
B. TypeError
C. KeyError
D. IndexError
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Python lève une KeyError pour signaler que la clé demandée n'est pas dans le dictionnaire.

QCM 25 Corrigé

Lequel est le plus rapide pour vérifier l'existence d'un élément ?

A. Une liste
B. Un tuple
C. Une chaîne de caractères
D. Un set
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Grâce au hachage, les sets (et clés de dictionnaires) offrent une recherche quasi instantanée.

QCM 26 Corrigé

Comment obtenir et supprimer une valeur précise d'un dictionnaire ?

A. d.pop('clé')
B. d.extract('clé')
C. d.remove('clé')
D. d.delete('clé')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
.pop() renvoie la valeur associée à la clé puis la retire du dictionnaire.

QCM 27 Corrigé

Que produit l'expression : set('abc') ?

A. {'abc'}
B. ['a', 'b', 'c']
C. {'a', 'b', 'c'}
D. ('a', 'b', 'c')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Passer une chaîne à set() décompose chaque caractère en un élément unique de l'ensemble.

QCM 28 Corrigé

Dans 'for k in d:', que représente 'k' par défaut ?

A. La paire complète
B. La valeur
C. L'index numérique
D. La clé
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Par défaut, l'itération sur un dictionnaire se fait sur ses clés.

QCM 29 Corrigé

Comment s'assurer qu'un dictionnaire conserve l'ordre d'insertion (Python 3.7+) ?

A. Il le fait par défaut
B. Il faut utiliser SortedDict
C. C'est impossible
D. Il faut utiliser une liste
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Depuis Python 3.7, les dictionnaires standard maintiennent l'ordre d'insertion des éléments.

QCM 30 Corrigé

Quelle est l'utilité principale des dictionnaires ?

A. Faire des calculs mathématiques complexes
B. Stocker des données structurées avec des étiquettes lisibles
C. Afficher du texte en couleur
D. Gérer uniquement des fichiers audio
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Ils permettent d'organiser l'information de façon logique (ex: les propriétés d'un utilisateur).

Mots & Définitions
Consultez les définitions des termes importants.

C’est la manière d’accéder à une valeur en utilisant sa clé, via la syntaxe avec crochets. Elle est rapide, mais elle exige que la clé existe déjà dans le dictionnaire.

Dans un dictionnaire, une clé ne peut exister qu’une seule fois. Si la même clé est réutilisée, la nouvelle valeur remplace l’ancienne, ce qui peut modifier le résultat attendu.

Un objet immuable ne peut pas être modifié après sa création. Cette stabilité est importante pour certaines utilisations, notamment lorsqu’un objet sert de clé dans un dictionnaire.

Un objet hachable peut être utilisé comme clé, car il possède une identité stable pour le calcul de hachage. En pratique, cela implique généralement un objet immuable, comme une chaîne ou un tuple.

Les accolades servent à définir littéralement un dictionnaire en regroupant ses paires clé-valeur. Elles sont aussi utilisées par les sets, ce qui demande de bien distinguer les cas.

La valeur est l’information stockée et associée à une clé dans un dictionnaire. Elle peut être de n’importe quel type : nombre, texte, liste, objet, etc.

La clé est l’identifiant utilisé pour accéder à une valeur dans un dictionnaire. Elle doit être unique et suffisamment stable pour ne pas changer pendant l’utilisation.

C’est l’unité de base d’un dictionnaire : une clé pointe vers une valeur. Cette organisation rend l’accès aux données très direct et facile à comprendre.

Un dictionnaire est une structure de données qui associe une clé unique à une valeur. Il sert à retrouver rapidement une information à partir d’un identifiant, sans parcourir toute une liste.

add() ajoute un élément à un set. Si l’élément existe déjà, l’opération ne provoque pas d’erreur et ne duplique rien.

set() est la manière correcte de créer un set vide en Python. Les accolades vides créent un dictionnaire, d’où une confusion fréquente chez les débutants.

Dans un set, un élément ne peut apparaître qu’une seule fois. Si on tente d’ajouter un doublon, le set reste inchangé, ce qui évite les répétitions.

Un set est une collection non ordonnée qui ne contient que des éléments uniques. Il est particulièrement efficace pour supprimer des doublons et comparer des groupes de valeurs.

clear() vide entièrement un dictionnaire, tout en conservant l’objet. C’est utile quand on veut réutiliser la même structure sans la recréer.

update() intègre le contenu d’un autre dictionnaire dans le dictionnaire courant. Si des clés sont communes, leurs valeurs sont remplacées par les nouvelles.

del supprime une entrée d’un dictionnaire à partir de sa clé. C’est une suppression directe, qui demande de s’assurer que la clé visée existe.

L’opérateur in permet de tester si une clé existe dans un dictionnaire. Il renvoie vrai ou faux, ce qui aide à éviter les accès invalides.

KeyError est l’erreur levée lorsqu’on tente d’accéder à une clé inexistante avec l’accès direct par crochets. Elle signale qu’il faut vérifier la présence de la clé ou utiliser une méthode plus sûre.

get() permet de récupérer une valeur sans provoquer d’erreur si la clé n’existe pas. On peut aussi définir une valeur par défaut, ce qui sécurise le code.

items() fournit les paires (clé, valeur) prêtes à être parcourues. C’est la méthode la plus pratique quand on veut traiter simultanément la clé et la donnée associée.

values() donne accès à l’ensemble des valeurs stockées dans le dictionnaire. Elle sert notamment à analyser ou afficher le contenu sans se concentrer sur les clés.

keys() permet d’obtenir toutes les clés présentes dans un dictionnaire. C’est utile pour parcourir les entrées ou vérifier ce que contient la structure.

discard() retire un élément d’un set sans lever d’erreur s’il est absent. C’est une méthode plus sûre quand on n’est pas certain du contenu exact.

L’intersection permet de garder uniquement les éléments communs à deux sets. C’est très utile pour repérer ce qui se retrouve dans deux groupes de données.

L’union combine les éléments de deux sets pour former un ensemble unique. Elle élimine automatiquement les doublons, ce qui donne une fusion propre.

La différence conserve les éléments d’un set qui ne sont pas présents dans l’autre. Elle sert à retirer un sous-ensemble et à filtrer des résultats.

À propos de ce QCM

Les dictionnaires et les ensembles (sets) font partie des structures de données les plus utiles en Python, car ils permettent de gérer des informations de manière rapide et organisée.

Un dictionnaire sert à associer une clé unique à une valeur, ce qui facilite la recherche d’une information sans parcourir toute une liste.

Les sets, eux, sont parfaits pour manipuler des collections sans doublons et pour comparer des groupes de valeurs.

En vous entraînant sur ces notions, vous consolidez des bases très demandées en cours, en examens et dans la pratique, notamment la création de structures, l’accès par clé, la mise à jour de contenus et la gestion des erreurs fréquentes.

L’objectif est de vous aider à choisir la bonne structure selon le besoin, à écrire un code plus propre et à éviter les pièges classiques liés aux clés inexistantes, aux doublons et aux opérations de fusion ou de comparaison.

Description pédagogique (280–320 mots)

Un dictionnaire organise les données sous forme de paires clé–valeur.

La clé sert d’identifiant : elle doit être hachable, donc immuable (par exemple une chaîne, un entier ou un tuple), afin que Python puisse retrouver la valeur très rapidement.

C’est pourquoi une liste ne peut pas jouer le rôle de clé.

Quand une même clé apparaît plusieurs fois, la dernière affectation remplace l’ancienne : cette règle garantit l’unicité des clés et explique certains résultats de comptage avec len().

Au quotidien, on exploite surtout quelques méthodes incontournables.

keys() donne l’ensemble des clés, values() fournit les valeurs, et items() permet de parcourir en même temps clé et valeur, pratique pour afficher ou traiter un dictionnaire proprement.

Pour récupérer une valeur, l’accès direct par crochets est efficace, mais il provoque une KeyError si la clé n’existe pas ; la méthode get() est plus sûre, car elle renvoie une valeur par défaut au lieu de bloquer le programme.

Pour modifier ou fusionner des données, update() ajoute les paires d’un autre dictionnaire, en écrasant les clés communes.

Enfin, clear() vide le contenu sans supprimer l’objet, et del retire une entrée précise.

Les sets répondent à un autre besoin : stocker des éléments uniques.

Ajouter un doublon ne change rien, ce qui en fait une bonne solution pour dédupliquer des données.

Attention toutefois : {} crée un dictionnaire vide, alors qu’un set vide se crée avec set().

On ajoute un élément avec add(), on retire sans risque avec discard(), et l’on évite remove() quand on n’est pas certain de la présence de l’élément.

Les opérations ensemblistes complètent l’outil : l’intersection (&) garde les éléments communs, l’union (|) regroupe tout sans doublons, et la différence (-) supprime ceux d’un ensemble à partir d’un autre.

Conclusion

En maîtrisant dictionnaires et sets, vous gagnez une vraie aisance pour organiser, retrouver et comparer des données en Python.

Vous saurez choisir entre accès rapide par clé et gestion d’une collection sans doublons, tout en utilisant les méthodes et opérateurs adaptés pour mettre à jour, fusionner ou filtrer des informations.

L’entraînement régulier sur ces points renforce votre logique et limite les erreurs classiques, notamment celles liées aux clés absentes ou aux suppressions risquées.

Revenez souvent sur ces exercices : ce sont des réflexes simples, mais décisifs pour écrire un code clair, fiable et efficace.