QCMUP.COM

Liste QCM Python Corrigé – Partie 5

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 5 – Python

Les listes et les tuples sont au cœur de la programmation en Python, car ils permettent d’organiser des données de façon simple, lisible et efficace.

Dès qu’on manipule plusieurs valeurs — des notes, des mots, des identifiants, des résultats de calcul — il devient essentiel de savoir stocker, parcourir et modifier une collection.

Ces QCM vous entraînent sur les bases indispensables : la création de séquences, l’accès aux éléments par index, l’usage de l’indexation négative pour viser la fin, ainsi que les opérations courantes d’ajout, de suppression et de tri.

Vous apprendrez aussi à distinguer clairement une structure modifiable d’une structure immuable, un point souvent décisif en examen comme en projet.

L’objectif n’est pas seulement de mémoriser des méthodes, mais d’acquérir des réflexes solides pour manipuler des données proprement et éviter les erreurs classiques.

Les listes et les tuples sont au cœur de la programmation en Python, car ils permettent d’organiser des données de façon simple, lisible et efficace.

Dès qu’on manipule plusieurs valeurs — des notes, des mots, des identifiants, des résultats de calcul — il devient essentiel de savoir stocker, parcourir et modifier une collection.

Ces QCM vous entraînent sur les bases indispensables : la création de séquences, l’accès aux éléments par index, l’usage de l’indexation négative pour viser la fin, ainsi que les opérations courantes d’ajout, de suppression et de tri.

Vous apprendrez aussi à distinguer clairement une structure modifiable d’une structure immuable, un point souvent décisif en examen comme en projet.

L’objectif n’est pas seulement de mémoriser des méthodes, mais d’acquérir des réflexes solides pour manipuler des données proprement et éviter les erreurs classiques.

QCM 1 Corrigé

Quel symbole est utilisé pour définir une liste en Python ?

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

Réponse correcte : C

Justification :
Les listes sont définies par des crochets [ ], tandis que les parenthèses servent aux tuples.

QCM 2 Corrigé

Quel est l'indice du premier élément d'une liste en Python ?

A. 1
B. 0
C. -1
D. A
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'indexation en Python commence toujours à 0 pour le premier élément.

QCM 3 Corrigé

Quelle méthode permet d'ajouter un élément à la fin d'une liste ?

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

Réponse correcte : D

Justification :
La méthode append() ajoute l'objet passé en paramètre à la toute fin de la liste existante.

QCM 4 Corrigé

Que signifie le terme 'mutable' pour une liste ?

A. Elle ne peut pas être modifiée
B. Elle peut être modifiée après sa création
C. Elle ne peut contenir que des nombres
D. Elle s'efface automatiquement
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une liste est mutable car on peut changer, ajouter ou supprimer ses éléments sans créer un nouvel objet.

QCM 5 Corrigé

Quelle est la principale différence syntaxique entre une liste et un tuple ?

A. La liste utilise [ ] et le tuple utilise ( )
B. La liste utilise { } et le tuple utilise [ ]
C. La liste est écrite en majuscules
D. Il n'y a aucune différence de syntaxe
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Les listes utilisent des crochets [ ] et les tuples des parenthèses ( ).

QCM 6 Corrigé

Comment accède-t-on au dernier élément d'une liste 'L' sans connaître sa longueur ?

A. L[last]
B. L[0]
C. L[-1]
D. L[end]
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'indice -1 permet d'accéder au dernier élément par indexation négative.

QCM 7 Corrigé

Quelle fonction permet d'obtenir le nombre d'éléments dans une liste ?

A. count()
B. size()
C. length()
D. len()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La fonction intégrée len() renvoie la longueur d'une séquence (liste, chaîne, tuple, etc.).

QCM 8 Corrigé

Que fait l'instruction 'L.insert(0, 'A')' ?

A. Elle remplace le premier élément par 'A'
B. Elle ajoute 'A' au début de la liste
C. Elle supprime le premier élément
D. Elle ajoute 'A' à la fin
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
insert(index, objet) permet de placer un élément à un endroit précis, ici à l'indice 0.

QCM 9 Corrigé

Comment supprimer un élément spécifique par sa valeur dans une liste ?

A. L.remove(valeur)
B. L.pop(valeur)
C. del L(valeur)
D. L.delete(valeur)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
remove() cherche la première occurrence de la valeur et la supprime de la liste.

QCM 10 Corrigé

Quelle est la particularité d'un tuple par rapport à une liste ?

A. Il est plus lent
B. Il ne peut contenir que des chaînes
C. Il est immuable (non modifiable)
D. Il ne peut pas être indexé
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Une fois créé, un tuple ne peut plus être modifié (ajout, suppression ou changement impossible).

QCM 11 Corrigé

Quel est le résultat de [1, 2] + [3, 4] ?

A. [4, 6]
B. [1, 2, 3, 4]
C. [[1, 2], [3, 4]]
D. Erreur
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'opérateur + entre deux listes réalise une concaténation, fusionnant les deux listes.

QCM 12 Corrigé

Comment créer une copie indépendante d'une liste 'L' ?

A. L2 = L
B. L2 = copy(L)
C. L2 = L.copy()
D. L2 = L[]
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La méthode copy() crée un nouvel objet liste contenant les mêmes valeurs.

QCM 13 Corrigé

Que renvoie l'expression '3 in [1, 2, 3]' ?

A. True
B. False
C. 3
D. Index 2
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur 'in' vérifie l'appartenance d'un élément à une collection et renvoie un booléen.

QCM 14 Corrigé

Quelle méthode supprime et renvoie le dernier élément d'une liste ?

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

Réponse correcte : B

Justification :
pop() sans argument retire le dernier élément et permet de le récupérer dans une variable.

QCM 15 Corrigé

Comment modifier le deuxième élément d'une liste 'L' pour lui donner la valeur 10 ?

A. L[1] = 10
B. L[2] = 10
C. L{1} = 10
D. L.update(1, 10)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le deuxième élément étant à l'indice 1, on utilise L[1] pour le modifier.

QCM 16 Corrigé

Quelle méthode permet de trier une liste par ordre croissant en place ?

A. order()
B. arrange()
C. sort()
D. sorted()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
sort() modifie directement la liste d'origine pour classer ses éléments.

QCM 17 Corrigé

Peut-on mélanger différents types (int, str) dans une même liste ?

A. Non, seulement un type par liste
B. Oui, Python le permet
C. Seulement si la liste est vide au début
D. Oui, mais il faut utiliser le mot-clé 'mixed'
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les listes Python sont hétérogènes et peuvent contenir n'importe quel type d'objet simultanément.

QCM 18 Corrigé

Que fait l'instruction 'L.clear()' ?

A. Elle supprime la variable L
B. Elle supprime tous les éléments de la liste
C. Elle trie la liste
D. Elle supprime les doublons
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
clear() vide entièrement la liste mais l'objet liste vide existe toujours en mémoire.

QCM 19 Corrigé

Quel est le résultat de 'len([5, [1, 2], 3])' ?

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

Réponse correcte : C

Justification :
La liste contient 3 éléments : l'entier 5, la liste [1, 2] et l'entier 3.

QCM 20 Corrigé

Comment obtenir une portion d'une liste de l'indice 1 à 3 (exclu) ?

A. L[1:3]
B. L[1,3]
C. L[1-3]
D. L{1:3}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le 'slicing' utilise la syntaxe [début:fin], où la fin est toujours exclue.

QCM 21 Corrigé

Que se passe-t-il si on tente de modifier un tuple : 'T = (1, 2); T[0] = 3' ?

A. Le tuple devient (3, 2)
B. Le tuple est supprimé
C. Python génère une erreur (TypeError)
D. Le premier élément devient None
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Comme les tuples sont immuables, toute tentative de modification directe génère une erreur.

QCM 22 Corrigé

Quelle méthode compte le nombre d'occurrences d'un élément dans une liste ?

A. sum()
B. total()
C. find()
D. count()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La méthode count() renvoie le nombre de fois où l'élément apparaît dans la liste.

QCM 23 Corrigé

Comment créer une liste vide ?

A. L = []
B. L = list()
C. Les deux réponses ci-dessus
D. L = [empty]
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
On peut utiliser les crochets vides ou le constructeur list() pour initialiser une liste vide.

QCM 24 Corrigé

Quel est le résultat de '["a"] * 3' ?

A. ["aaa"]
B. ["a", "a", "a"]
C. ["a*3"]
D. Erreur
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'opérateur * répète les éléments de la liste le nombre de fois indiqué.

QCM 25 Corrigé

Quelle méthode permet d'inverser l'ordre des éléments d'une liste ?

A. flip()
B. invert()
C. reverse()
D. backwards()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
reverse() inverse l'ordre des éléments de la liste en place.

QCM 26 Corrigé

Comment transformer un tuple en liste ?

A. list(mon_tuple)
B. mon_tuple.to_list()
C. [mon_tuple]
D. cast(mon_tuple, list)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La fonction list() convertit n'importe quel itérable (comme un tuple) en une nouvelle liste.

QCM 27 Corrigé

Que se passe-t-il si vous accédez à l'indice 10 d'une liste de 5 éléments ?

A. Elle renvoie None
B. Elle renvoie le dernier élément
C. Elle crée des éléments vides
D. Python génère une erreur (IndexError)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Accéder à un index inexistant déclenche une exception IndexError : list index out of range.

QCM 28 Corrigé

Quelle méthode permet d'ajouter tous les éléments d'une liste dans une autre ?

A. add_all()
B. extend()
C. append()
D. plus()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
extend() prend un itérable en argument et ajoute chacun de ses éléments à la fin de la liste.

QCM 29 Corrigé

Comment trouver l'indice de la première occurrence d'une valeur 'x' ?

A. L.index(x)
B. L.find(x)
C. L.search(x)
D. L.position(x)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La méthode index() renvoie la position (indice) de la première valeur correspondante trouvée.

QCM 30 Corrigé

L'instruction 'del L[0]' permet de :

A. Vider la liste
B. Supprimer le premier élément de la liste
C. Supprimer la variable L
D. Mettre le premier élément à zéro
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le mot-clé 'del' permet de supprimer un élément à un indice spécifique.

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

Une liste est une structure de données qui regroupe plusieurs valeurs dans un même objet, dans un ordre précis. Elle peut contenir des éléments de types différents et se parcourt facilement pour traiter des collections d’informations.

Un tuple ressemble à une liste, mais il est conçu pour rester stable une fois créé. On l’utilise souvent pour représenter des données qui ne doivent pas être modifiées, comme des coordonnées ou des paires valeur/clé.

Un objet mutable peut être modifié après sa création, sans changer d’identité en mémoire. Les listes sont mutables, ce qui permet d’ajouter, supprimer ou remplacer des éléments au fil du programme.

Un objet immuable ne peut pas être modifié directement une fois créé. Les tuples sont immuables, ce qui rend les données plus sûres quand on veut éviter les changements accidentels.

L’indexation consiste à accéder à un élément grâce à sa position dans une séquence. En Python, la première position commence à 0, ce qui influence toutes les manipulations d’accès et de modification.

Un indice est un numéro qui indique la position d’un élément dans une liste ou un tuple. Il permet de lire ou de remplacer un élément de façon précise, à condition de respecter les limites de la séquence.

L’indexation négative permet d’accéder aux éléments en partant de la fin de la séquence. Par exemple, -1 vise le dernier élément, ce qui évite de calculer la longueur au préalable.

len() est une fonction intégrée qui renvoie le nombre d’éléments d’une séquence. Elle sert souvent à vérifier la taille d’une liste, contrôler des conditions, ou sécuriser des accès par indice.

append() ajoute un nouvel élément à la fin d’une liste. C’est une méthode très utilisée pour construire une liste progressivement, au fur et à mesure d’un traitement.

insert() permet d’ajouter un élément à une position précise d’une liste. Elle décale les éléments existants pour conserver l’ordre, ce qui est utile quand l’emplacement a une importance.

extend() ajoute plusieurs éléments à la fin d’une liste en parcourant un itérable. Contrairement à un ajout « unique », elle fusionne réellement le contenu d’une autre collection.

remove() supprime un élément en se basant sur sa valeur, et non sur sa position. Elle enlève la première occurrence trouvée, ce qui demande d’être attentif en cas de doublons.

pop() retire un élément d’une liste et le renvoie, ce qui permet de le récupérer dans une variable. Sans précision, elle retire généralement le dernier élément, pratique pour gérer une collection qui évolue.

clear() vide complètement une liste en supprimant tous ses éléments. La liste existe toujours après l’opération, mais elle devient simplement vide.

copy() crée une nouvelle liste indépendante contenant les mêmes valeurs. Elle évite les effets de bord liés au partage de la même liste entre plusieurs variables.

La concaténation consiste à assembler deux listes pour en former une seule, en conservant l’ordre des éléments. Elle permet de regrouper des données provenant de plusieurs sources dans une même collection.

La répétition permet de dupliquer le contenu d’une liste plusieurs fois pour obtenir une liste plus longue. C’est utile pour générer rapidement des motifs simples, tout en restant vigilant sur les objets internes partagés.

Le slicing extrait une portion d’une liste à partir d’un intervalle d’indices. La borne de fin est exclue, ce qui rend le découpage plus cohérent pour créer des sous-listes sans erreurs de comptage.

L’opérateur in vérifie si une valeur est présente dans une collection. Il renvoie un booléen, ce qui le rend très pratique dans les conditions et les validations.

sort() trie une liste directement sur place, sans créer de nouvelle liste. C’est efficace quand on veut modifier l’ordre de la liste existante et continuer à travailler dessus.

reverse() inverse l’ordre des éléments d’une liste en place. Elle est utile quand on veut parcourir ou afficher les données dans le sens opposé, sans recréer une nouvelle liste.

list() est un constructeur qui permet de créer une liste, y compris à partir d’un autre itérable comme un tuple. Il sert notamment à convertir des données immuables en structure modifiable.

IndexError est une erreur qui survient quand on tente d’accéder à un indice qui n’existe pas dans la liste. Elle signale un problème de limites et aide à repérer un mauvais calcul d’index ou une liste trop courte.

del est un mot-clé qui permet de supprimer un élément à une position donnée, ou même de supprimer une variable. Il offre un contrôle direct sur ce qui est retiré, mais demande de l’utiliser avec précision.

À propos de ce QCM

Comprendre les listes en Python, c’est apprendre à gérer des collections d’informations dans un ordre donné.

Une liste peut contenir des nombres, du texte, ou même des objets de types différents, ce qui la rend très pratique dans la plupart des programmes.

Une fois la liste créée, on doit savoir accéder aux éléments grâce à l’indexation, en gardant en tête que la première position commence à 0.

L’indexation négative complète cette logique en permettant d’atteindre rapidement la fin de la liste, sans calculer sa longueur.

La fonction len() sert alors de repère pour mesurer la taille d’une séquence et sécuriser certains traitements.

Les QCM mettent également l’accent sur la différence fondamentale entre une liste mutable et un tuple immuable.

Cette distinction influence votre manière de construire un programme : quand on a besoin de modifier, on choisit une liste ; quand on veut des données stables, on privilégie un tuple.

La conversion entre structures, notamment via list(), est un savoir-faire utile pour s’adapter au besoin du moment.

Côté manipulation, plusieurs méthodes reviennent comme des outils de base : append() pour ajouter en fin de liste, insert() pour placer un élément à un index précis, extend() pour intégrer plusieurs éléments d’un coup, remove() pour supprimer par valeur, et pop() pour retirer en récupérant l’élément supprimé.

Savoir vider une liste (clear()), copier proprement une liste (copy()) et trier en place (sort()) fait partie des gestes essentiels pour travailler efficacement.

Enfin, la maîtrise du slicing vous apprend à extraire une portion de liste avec des bornes bien définies, tandis que l’opérateur in vous aide à vérifier rapidement la présence d’une valeur.

Les QCM abordent aussi les erreurs typiques, comme IndexError, qui rappelle qu’un accès hors limites doit être anticipé et corrigé.

Conclusion

Travailler ces QCM vous aide à consolider une compétence centrale en Python : la gestion rigoureuse des séquences.

En maîtrisant l’indexation, les méthodes de modification, le découpage et la conversion entre structures, vous gagnez en précision et en autonomie dans vos scripts.

L’entraînement régulier permet de développer de bons réflexes, notamment pour éviter les erreurs d’accès, choisir la bonne structure selon le contexte, et manipuler des listes sans effets de bord.

Avec ces bases, vous serez plus à l’aise pour aborder des exercices plus avancés et construire des programmes plus propres et plus fiables.