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.