Université Virtuelle du Burkina Faso
Licence 2 – Python pour l’IA
Travaux Pratiques : Structures de données
TP18 — Les Listes Python : création, manipulation et compréhension
Objectifs pédagogiques
À la fin de ce TP, l’étudiant devra être capable de :
- Créer et manipuler des listes Python ;
- Accéder aux éléments par indexation et slicing ;
- Modifier, trier et parcourir des listes ;
- Utiliser les méthodes intégrées (append, extend, insert, remove, pop, etc.) ;
- Générer des listes dynamiquement grâce aux compréhensions de listes.
Introduction
Une liste est une structure de données ordonnée, modifiable et hétérogène.
Elle permet de stocker plusieurs valeurs dans une seule variable, et constitue l’un des piliers
de la programmation en Python pour le traitement de données.
Exemple :
notes = [12, 15, 9, 17]
noms = ["Alice", "Bob", "Charlie"]
mixte = [10, "Python", 3.14, True]
1. Création et indexation
Exemple :
fruits = ["pomme", "banane", "mangue", "orange"]
print(fruits[0]) # premier élément
print(fruits[-1]) # dernier élément
Exercice 1 :
Crée une liste `pays` contenant 5 noms de pays africains et affiche :
- le premier élément,
- le troisième,
- le dernier,
- et la longueur de la liste.
2. Modification d’une liste
Exemple :
fruits[1] = "ananas"
[Link]("pastèque")
[Link](2, "kiwi")
[Link]("mangue")
[Link]()
Exercice 2 :
À partir de la liste `notes = [10, 12, 15, 9]` :
1. Ajoute la note 18.
2. Supprime la note 9.
3. Insère la note 11 à la position 2.
4. Affiche la liste mise à jour et sa longueur.
3. Slicing (tranchage de listes)
Exemple :
L = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(L[2:6]) # éléments d’indice 2 à 5
print(L[:4]) # les 4 premiers
print(L[5:]) # à partir du 5e
print(L[::-1]) # liste inversée
Exercice 3 :
Crée une liste des nombres de 1 à 10. Affiche :
- les 3 premiers,
- les 3 derniers,
- les éléments d’indices pairs,
- et la liste inversée.
4. Parcours et opérations
Exemple :
nombres = [1, 2, 3, 4, 5]
for n in nombres:
print(n * n)
Exercice 4 :
Écris un programme qui :
- Demande 5 notes à l’utilisateur,
- Les stocke dans une liste,
- Calcule et affiche la moyenne,
- Indique la note maximale et minimale.
5. Tri et copies de listes
Exemple :
nombres = [8, 3, 5, 1, 9]
[Link]()
copie = [Link]()
Exercice 5 :
1. Crée la liste `ages = [25, 19, 30, 22, 25, 19]`
2. Trie la liste.
3. Supprime les doublons.
4. Copie la liste nettoyée dans une autre variable.
6. Compréhensions de listes
Exemple :
carres = [x**2 for x in range(10)]
pairs = [x for x in range(20) if x % 2 == 0]
Exercice 6 :
1. Crée une liste `carres_impairs` contenant les carrés des nombres impairs entre 1 et 15.
2. Crée une liste `noms_upper` contenant les versions en majuscules de ["alice", "bob",
"charlie"].
Mini-projet : Nettoyage et analyse de notes
Écris une fonction `nettoyer_notes(liste_notes)` qui :
- Supprime les valeurs négatives ;
- Tronque les valeurs supérieures à 20 ;
- Calcule la moyenne des notes valides.
Exemple :
notes = [12, -3, 25, 18, 15, 21]
Résultat attendu : [12, 20, 18, 15, 20] → Moyenne = 17
Livrables
1. Notebook ou script `TP18_listes.ipynb`
2. Tous les exercices réalisés et commentés
3. Fonction `nettoyer_notes()` testée avec plusieurs jeux de données
Les listes sont la base des structures de données utilisées en IA pour représenter des
vecteurs, séquences ou ensembles d’observations avant conversion en [Link].