Introduction
Bienvenue dans ce laboratoire pratique sur les Listes et les Tuples en Python. Les listes sont l'une des structures de données les plus fondamentales et polyvalentes en Python, vous permettant de stocker des collections ordonnées d'éléments. Les tuples sont similaires, mais avec une différence clé : ils sont immuables.
Tout au long de ce laboratoire, vous apprendrez à créer des listes, à accéder et à manipuler leurs éléments, et à effectuer des opérations courantes telles que le tri et l'itération (bouclage). Vous explorerez également les tuples et comprendrez quand les utiliser plutôt que les listes.
Cet environnement de laboratoire est un WebIDE préconfiguré. Tous les fichiers nécessaires pour ce laboratoire ont été créés pour vous dans le répertoire /home/labex/project. Commençons.
Accéder aux Éléments de la Liste
Dans cette étape, vous apprendrez comment récupérer des éléments d'une liste en utilisant des index et comment extraire des sous-listes en utilisant le slicing (tranchage). Les listes sont des collections ordonnées d'éléments enfermés entre crochets [].
Tout d'abord, ouvrez le fichier step1_access.py dans l'explorateur de fichiers à gauche. Nous écrirons notre code dans ce fichier.
Note: Si vous n'êtes pas familier avec l'utilisation de WebIDE (similaire à VS Code), veuillez vous familiariser avec son utilisation via ce lab.
Obtenir des Valeurs avec des Index
Les éléments de la liste sont accessibles en utilisant un index basé sur zéro, ce qui signifie que le premier élément est à l'index 0.
Ajoutez le code suivant à step1_access.py pour créer une liste et accéder à son premier élément :
## step1_access.py
furniture = ['table', 'chair', 'rack', 'shelf']
## Accéder au premier élément (index 0)
print(furniture[0])
Pour exécuter le script, ouvrez un terminal dans le WebIDE et exécutez la commande suivante :
python3 /home/labex/project/step1_access.py
Vous devriez voir le premier élément de la liste affiché dans la console.
Sortie :
table
Index Négatifs
Vous pouvez également utiliser des index négatifs pour accéder aux éléments depuis la fin de la liste. L'index -1 fait référence au dernier élément, -2 à l'avant-dernier, et ainsi de suite.
Modifiez step1_access.py pour accéder au dernier élément :
## step1_access.py
furniture = ['table', 'chair', 'rack', 'shelf']
## Accéder au dernier élément (index -1)
print(furniture[-1])
Exécutez à nouveau le script :
python3 /home/labex/project/step1_access.py
Sortie :
shelf
Obtenir des Sous-listes avec le Slicing
Le slicing (tranchage) vous permet d'obtenir une sous-liste en utilisant la syntaxe [début:fin]. L'index début est inclusif, et l'index fin est exclusif.
Pratiquons cela. Pour votre tâche de vérification, modifiez step1_access.py pour créer une liste et imprimer une tranche de celle-ci. Remplacez le contenu existant par le code suivant :
## step1_access.py
furniture = ['table', 'chair', 'rack', 'shelf']
## Obtenir une sous-liste de l'index 1 jusqu'à (mais sans inclure) l'index 3
sublist = furniture[1:3]
print(sublist)
Exécutez le script pour voir le résultat :
python3 /home/labex/project/step1_access.py
Sortie :
['chair', 'rack']
Vous pouvez également créer une copie d'une liste en utilisant un slice complet [:]. Toute modification apportée à la liste originale n'affectera pas la copie.
## step1_access.py
spam = ['cat', 'bat', 'rat', 'elephant']
spam2 = spam[:] ## Créer une copie superficielle (shallow copy)
spam.append('dog')
print(spam)
print(spam2)
Exécutez le script :
python3 /home/labex/project/step1_access.py
Sortie :
['cat', 'bat', 'rat', 'elephant', 'dog']
['cat', 'bat', 'rat', 'elephant']
Une fois que vous avez réussi à imprimer la tranche ['chair', 'rack'], cliquez sur le bouton Verify pour passer à l'étape suivante.
Modifier et Manipuler les Listes
Dans cette étape, vous allez explorer comment gérer et modifier le contenu des listes. Cela inclut le changement de valeurs, la combinaison de listes et l'ajout de nouveaux éléments.
Ouvrez le fichier step2_modify.py pour commencer.
Obtenir la Longueur de la Liste avec len()
La fonction len() retourne le nombre d'éléments dans une liste.
Ajoutez ce code à step2_modify.py :
## step2_modify.py
furniture = ['table', 'chair', 'rack', 'shelf']
print(len(furniture))
Exécutez le script :
python3 /home/labex/project/step2_modify.py
Sortie :
4
Changer les Valeurs avec les Index
Vous pouvez modifier un élément dans une liste en assignant une nouvelle valeur à son index.
## step2_modify.py
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[0] = 'desk' ## Changer le premier élément
print(furniture)
Exécutez le script :
python3 /home/labex/project/step2_modify.py
Sortie :
['desk', 'chair', 'rack', 'shelf']
Concaténation et Répétition
Vous pouvez combiner deux listes en utilisant l'opérateur + (concaténation) ou répéter le contenu d'une liste en utilisant l'opérateur * (répétition).
## step2_modify.py
list1 = [1, 2, 3]
list2 = ['A', 'B', 'C']
combined_list = list1 + list2
print(combined_list)
replicated_list = ['X'] * 3
print(replicated_list)
Exécutez le script :
python3 /home/labex/project/step2_modify.py
Sortie :
[1, 2, 3, 'A', 'B', 'C']
['X', 'X', 'X']
Ajouter des Valeurs avec append() et insert()
- La méthode
append()ajoute un élément à la fin de la liste. - La méthode
insert()ajoute un élément à un index spécifié.
Pour votre tâche de vérification, combinons ces opérations. Remplacez le contenu de step2_modify.py par le code suivant. Ce script créera une liste, ajoutera un élément à la fin et en insérera un autre au début.
## step2_modify.py
furniture = ['table', 'chair', 'rack', 'shelf']
## Ajouter 'bed' à la fin de la liste
furniture.append('bed')
## Insérer 'desk' au début de la liste (index 0)
furniture.insert(0, 'desk')
print(furniture)
Exécutez le script pour voir la liste finale modifiée :
python3 /home/labex/project/step2_modify.py
Sortie :
['desk', 'table', 'chair', 'rack', 'shelf', 'bed']
Une fois que votre script produit la sortie correcte, cliquez sur Verify.
Supprimer des Valeurs et Trier
Dans cette étape, vous apprendrez différentes manières de supprimer des éléments d'une liste et comment trier le contenu d'une liste.
Veuillez ouvrir le fichier step3_remove.py.
Suppression de Valeurs
Python fournit plusieurs façons de supprimer des éléments d'une liste :
- Instruction
del: Supprime un élément à un index spécifique. - Méthode
remove(): Supprime la première occurrence d'une valeur spécifique. - Méthode
pop(): Supprime et retourne un élément à un index spécifique (ou le dernier élément si aucun index n'est donné).
Voyons-les en action. Ajoutez ceci à step3_remove.py :
## step3_remove.py
furniture = ['table', 'chair', 'rack', 'shelf']
del furniture[2] ## Supprime 'rack'
print(furniture)
furniture.remove('chair') ## Supprime 'chair'
print(furniture)
Exécutez le script :
python3 /home/labex/project/step3_remove.py
Sortie :
['table', 'chair', 'shelf']
['table', 'shelf']
Tri des Valeurs avec sort()
La méthode sort() trie la liste sur place (in place). Par défaut, elle trie par ordre croissant.
## step3_remove.py
numbers = [2, 5, 3.14, 1, -7]
numbers.sort()
print(numbers)
letters = ['a', 'z', 'A', 'Z']
letters.sort(key=str.lower) ## Tri insensible à la casse
print(letters)
Exécutez le script :
python3 /home/labex/project/step3_remove.py
Sortie :
[-7, 1, 2, 3.14, 5]
['a', 'A', 'z', 'Z']
Pour votre tâche de vérification, vous devez créer une liste, supprimer un élément spécifique, puis trier les éléments restants. Remplacez le contenu de step3_remove.py par ce qui suit :
## step3_remove.py
furniture = ['table', 'chair', 'rack', 'shelf']
## Supprimer l'élément 'rack'
furniture.remove('rack')
## Trier la liste par ordre alphabétique
furniture.sort()
print(furniture)
Exécutez le script pour voir le résultat :
python3 /home/labex/project/step3_remove.py
Sortie :
['chair', 'shelf', 'table']
Une fois que votre script supprime et trie correctement la liste, cliquez sur Verify.
Itération et Techniques Avancées
Dans cette étape, vous maîtriserez comment itérer sur des listes et utiliser des techniques de liste avancées mais très utiles.
Ouvrez le fichier step4_loop.py pour cette section.
Boucler avec for
Une boucle for est la manière standard d'itérer sur les éléments d'une liste.
## step4_loop.py
furniture = ['table', 'chair', 'rack', 'shelf']
for item in furniture:
print(item)
Exécutez le script :
python3 /home/labex/project/step4_loop.py
Sortie :
table
chair
rack
shelf
Obtenir l'Index et la Valeur avec enumerate()
Si vous avez besoin à la fois de l'index et de la valeur pendant l'itération, utilisez la fonction enumerate().
## step4_loop.py
furniture = ['table', 'chair', 'rack', 'shelf']
for index, item in enumerate(furniture):
print(f'index: {index} - item: {item}')
Exécutez le script :
python3 /home/labex/project/step4_loop.py
Sortie :
index: 0 - item: table
index: 1 - item: chair
index: 2 - item: rack
index: 3 - item: shelf
Les Opérateurs in et not in
Ces opérateurs vous permettent de vérifier si une valeur existe dans une liste.
## step4_loop.py
furniture = ['table', 'chair', 'rack', 'shelf']
print('rack' in furniture)
print('bed' not in furniture)
Exécutez le script :
python3 /home/labex/project/step4_loop.py
Sortie :
True
True
Boucler sur Plusieurs Listes avec zip()
La fonction zip() est parfaite pour traiter plusieurs listes en parallèle. Elle associe des éléments de chaque liste.
Pour votre tâche de vérification, vous utiliserez zip() pour combiner deux listes. Remplacez le contenu de step4_loop.py par le code suivant. Il itérera sur les articles d'ameublement et leurs prix correspondants, affichant une chaîne formatée pour chaque paire.
## step4_loop.py
furniture = ['table', 'chair', 'rack', 'shelf']
price = [100, 50, 80, 40]
for item, amount in zip(furniture, price):
print(f'The {item} costs ${amount}')
Exécutez le script pour voir la sortie combinée :
python3 /home/labex/project/step4_loop.py
Sortie :
The table costs $100
The chair costs $50
The rack costs $80
The shelf costs $40
Une fois que votre script fonctionne correctement, cliquez sur Verify.
Comprendre les Tuples
Dans cette dernière étape, vous découvrirez le type de données tuple. Les tuples sont similaires aux listes, mais ils sont immuables, ce qui signifie que leur contenu ne peut pas être modifié après leur création.
Ouvrez le fichier step5_tuple.py.
Le Type de Données Tuple
Les tuples sont définis avec des parenthèses () au lieu de crochets. Comme ils sont immuables, vous ne pouvez ni modifier, ni ajouter, ni supprimer d'éléments après la création du tuple. Cela les rend plus efficaces en mémoire et utiles pour les données qui ne doivent pas être altérées.
Vous pouvez accéder aux éléments d'un tuple en utilisant les index et le découpage (slicing), tout comme avec les listes.
## step5_tuple.py
furniture = ('table', 'chair', 'rack', 'shelf')
## Accéder aux éléments
print(furniture[0])
## Découpage (Slicing)
print(furniture[1:3])
## Obtenir la longueur
print(len(furniture))
Exécutez le script :
python3 /home/labex/project/step5_tuple.py
Sortie :
table
('chair', 'rack')
4
Si vous essayez de modifier un tuple, Python lèvera une TypeError. Par exemple, furniture[0] = 'desk' provoquerait une erreur.
Conversion entre list() et tuple()
Vous pouvez facilement convertir entre listes et tuples en utilisant les fonctions constructeurs list() et tuple().
Pour votre tâche de vérification, vous allez convertir une liste en tuple. Remplacez le contenu de step5_tuple.py par le code suivant :
## step5_tuple.py
## Une liste d'éléments
my_list = ['cat', 'dog', 5]
## Convertir la liste en tuple
my_tuple = tuple(my_list)
print(my_tuple)
Exécutez le script pour voir le tuple résultant :
python3 /home/labex/project/step5_tuple.py
Sortie :
('cat', 'dog', 5)
Vous pouvez également reconvertir un tuple en liste si vous avez besoin de le modifier :
## step5_tuple.py
my_tuple = ('cat', 'dog', 5)
my_list = list(my_tuple)
print(my_list)
Exécutez le script :
python3 /home/labex/project/step5_tuple.py
Sortie :
['cat', 'dog', 5]
Une fois que votre script a réussi à convertir la liste en tuple et à l'afficher, cliquez sur Verify pour terminer le laboratoire.
Résumé
Félicitations pour avoir terminé ce laboratoire ! Vous avez acquis une solide compréhension des structures de données fondamentales de Python : les listes et les tuples.
Vous avez appris à :
- Créer des listes et accéder aux éléments en utilisant des index positifs et négatifs.
- Extraire des sous-listes en utilisant le découpage (slicing).
- Modifier des listes en changeant des valeurs, en ajoutant des éléments avec
append()etinsert(), et en les supprimant avecdel,remove(), etpop(). - Trier des listes sur place en utilisant la méthode
sort(). - Itérer efficacement sur des listes en utilisant les boucles
for,enumerate(), etzip(). - Comprendre la nature immuable des tuples et effectuer des conversions entre listes et tuples.
Ces compétences sont fondamentales pour tout programmeur Python et vous seront inestimables dans vos futurs projets.



