CPGE Moulay-Idriss
MPSI 2024/2025 TD : Les Listes
Informatique
Exercice 1
L = ['e', 1, 2, 3, [10, 11], -7, 10]
1. Donnez les indices des éléments de L.
2. Affichez les éléments 'e', 10, 2 et 10 de [10, 11] de L, par des indices positifs puis né-
gatifs.
1 2 3
3. Représentez la matrice 4 5 6 par listes.
7 8 9
Exercice 2
Dans la même liste L précédente :
1. Changez 'e' par 'z', -7 par 7 et l’élément 11 de la sous-liste [10, 11] par 15.
2. Copiez L dans une nouvelle liste A.
Exercice 3
Écrivez une fonction qui calcule la somme des éléments d une liste Ls, passée en paramètre,
en utilisant deux méthodes différentes.
Exercice 4 Manipulation de listes
1. Écrire une fonction rotation(l) qui décale d’un rang tous les éléments d’une liste (le
dernier élément devenant le premier). La fonction renvoie une nouvelle liste l. Par
exemple, rotation([1,2,3,4]) renvoie la liste [4,1,2,3].
2. Écrire une fonction inverser(l) qui inverse l’ordre des éléments d’une liste.
3. Écrire une fonction supprimer_rang(l,rang) qui renvoie une liste formée de tous les élé-
ments, sauf celui au rang donné. Par exemple, supprimer_rang([8, 7, 6, 5, 4], 2)
renvoie la liste [8,7,5,4] (l’élément 6 qui était au rang 2 est supprimé).
4. Écrire une fonction supprimer_element(l,element) renvoyant une liste qui contient tous
les éléments sauf ceux égaux à l’élément spécifié.
Par exemple, supprimer_element([8,7,4,6,5,4],4) renvoie la liste [8,7,6,5] (tous les
éléments égaux à 4 ont été supprimés).
5. Écrire une fonction récursive qui permet de calculer la somme des éléments d’une liste.
6. Écrire une fonction récursive qui permet de calculer la longueur d’une liste.
7. Écrire la version récursive de la fonction inverser(l).
Page 1 Pr. Achraf KMOUT
Exercice 5 Notation d’un ensemble fini d’éléments
Si E est un ensemble fini de N éléments ( N > 0), e0 , e1 , . . . , ei , ei−1 , . . . , e N −1 , alors E sera
noté par E = {e0 , e1 , . . . , ei , ei−1 , . . . , e N −1 }. Il s’agit de représenter les ensembles par des listes.
1. Écrire une fonction appartient(E, e) qui prend en argument une liste E d’entiers et un
entier e et renvoie True si E contient e et False sinon.
2. Écrire une fonction union(E1, E2) qui prend en argument deux listes E1 et E2 d’entiers
et renvoie E1 ∪ E2 .
3. Écrire une fonction intersection(E1, E2) qui prend en argument deux listes E1 et E2
d’entiers et renvoie E1 ∩ E2 .
Exercice 6 Doubler les valeurs d’une matrice
On représente une matrice par la liste
de ses lignes (qui sont elles-mêmes représentées par
1 2 3
des listes). Par exemple, M = est représentée par [[1,2,3], [4,5,6]].
4 5 6
1. Écrire une fonction dimensions(M) qui renvoie le couple constitué du nombre de lignes et
du nombre de colonnes de M.
2. Écrire une fonction qui permet d’afficher les éléments d’une matrice M de la manière
suivante :
1 2 3
4 5 6
3. Écrire une autre version de la fonction dimensions(M) en utilisant la fonction prédéfinie
len().
4. Écrire une fonction doubler(M) qui modifie la matrice M et double chacun de ses coeffi-
cients.
Page 2 Pr. Achraf KMOUT