📘 Corrigé et explications (10 questions)
1. Parmi les affirmations suivantes concernant les listes en Python, lesquelles sont vraies ?
Bonne réponse : Une liste peut contenir des éléments de types différents. — On peut ajouter un élément à la fin d'une liste avec la méthode append(). — L'expression `L[1:3]` retourne une nouvelle liste contenant les éléments d'indices 1 et 2.
Bien vu ! Les listes Python sont hétérogènes, append() ajoute en fin, et le slicing L[1:3] donne les indices 1 et 2. `del L[0]` supprime le premier élément, pas le dernier.
2. Quelles sont les caractéristiques correctes des tuples en Python ?
Bonne réponse : Un tuple peut être utilisé comme clé de dictionnaire. — Un tuple peut être créé avec des parenthèses : (1, 2, 3).
Exact. Les tuples sont immuables, donc utilisables comme clés de dictionnaire. On les crée avec des parenthèses. add() n'existe pas pour les tuples (immuables).
3. Concernant les dictionnaires en Python, quelles affirmations sont correctes ?
Bonne réponse : Les clés d'un dictionnaire doivent être uniques. — La méthode keys() retourne une vue sur les clés du dictionnaire. — L'expression `d[cle]` lève une exception si la clé n'existe pas.
Tout juste. Les clés sont uniques et doivent être immuables (une liste est mutable donc pas acceptable). keys() donne une vue, et d[cle] lève KeyError si la clé est absente.
4. Parmi les propositions suivantes sur les ensembles (set), lesquelles sont vraies ?
Bonne réponse : Un ensemble ne peut pas contenir de doublons. — L'opérateur `|` réalise l'union de deux ensembles. — La méthode add() ajoute un élément à l'ensemble.
Bravo. Les ensembles sont sans doublon, non indicés. `|` pour l'union, add() pour ajouter un élément.
5. Quelles opérations sont valides sur une liste Python ?
Bonne réponse : L.reverse() inverse l'ordre des éléments de la liste L. — L.pop() supprime et retourne le dernier élément de la liste L. — L.extend([4,5]) ajoute les éléments 4 et 5 à la fin de L.
Correct. reverse() et pop() sont des méthodes de liste, extend() ajoute plusieurs éléments. sort() trie sur place et ne retourne rien (retourne None).
6. Quelles sont les différences correctes entre une liste et un tuple ?
Bonne réponse : Une liste est mutable, un tuple est immuable. — Un tuple est plus rapide qu'une liste pour l'accès aux éléments. — Un tuple peut être utilisé comme clé de dictionnaire, pas une liste.
Exact. Les tuples sont immuables, donc plus rapides et utilisables comme clés. append() n'existe pas pour les tuples.
7. Considérons le code suivant :
d = {'a':1, 'b':2}. Quelles affirmations sont vraies ?Bonne réponse : d['a'] retourne 1. — d.get('c') retourne None. — d['c'] = 3 ajoute la clé 'c' avec la valeur 3.
Bravo. d['a'] donne 1, get('c') renvoie None (clé absente), et l'affectation d['c']=3 ajoute une entrée. keys() retourne une vue, pas une liste.
8. Quelles sont les méthodes qui modifient un ensemble (set) ?
Bonne réponse : add() — remove() — clear()
Correct. add() et remove() modifient l'ensemble, clear() le vide. union() retourne un nouvel ensemble sans modifier l'original.
9. Parmi ces affectations, lesquelles créent un tuple ?
Bonne réponse : t = (1,) — t = 1, 2, 3 — t = tuple([1,2])
Exact. (1,) avec virgule est un tuple, 1,2,3 est un tuple par affectation, tuple([1,2]) crée un tuple. (1) est juste un entier entre parenthèses.
10. Quelles sont les propriétés des ensembles (set) ?
Bonne réponse : Les éléments sont uniques. — On peut itérer sur un ensemble avec une boucle for.
Bien vu. Les ensembles n'ont pas de doublons, on peut les parcourir, mais ils ne sont pas ordonnés (ordre non garanti) et ne peuvent contenir que des éléments immuables (listes interdites).
