Opérations Avancées sur les Listes : Tri, Interrogation et Imbrication
Dans cette dernière étape, vous explorerez des opérations de liste plus avancées, y compris le tri, la requête d'informations et le travail avec des listes imbriquées (nested lists).
Commençons par le tri. La méthode sort() modifie la liste sur place (in-place). Vous pouvez trier par ordre croissant ou décroissant.
Ouvrez le fichier list_operations.py dans le WebIDE. Ajoutez le code suivant pour démontrer le tri :
## --- Sorting Lists ---
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
print("--- Sorting Lists ---")
print("Original numbers list:", numbers)
## Sort the list in-place (ascending)
numbers.sort()
print("After sort():", numbers)
## Sort the list in descending order
numbers.sort(reverse=True)
print("After sort(reverse=True):", numbers)
## The reverse() method simply reverses the order, it does not sort
letters = ['a', 'b', 'c', 'd']
print("\nOriginal letters list:", letters)
letters.reverse()
print("After reverse():", letters)
Enregistrez le fichier et exécutez-le depuis le terminal :
python ~/project/list_operations.py
La sortie montre les listes triées et inversées :
--- Sorting Lists ---
Original numbers list: [3, 1, 4, 1, 5, 9, 2, 6]
After sort(): [1, 1, 2, 3, 4, 5, 6, 9]
After sort(reverse=True): [9, 6, 5, 4, 3, 2, 1, 1]
Original letters list: ['a', 'b', 'c', 'd']
After reverse(): ['d', 'c', 'b', 'a']
Ensuite, interrogeons une liste pour trouver des informations.
count() : Retourne le nombre de fois où une valeur apparaît.
index() : Retourne l'index de la première occurrence d'une valeur.
Ajoutez le code suivant à list_operations.py :
## --- Querying Lists ---
fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
print("\n--- Querying Lists ---")
print("Fruits list:", fruits)
## Count the occurrences of an element
apple_count = fruits.count('apple')
print("Count of 'apple':", apple_count)
## Find the index of the first occurrence of an element
banana_index = fruits.index('banana')
print("Index of first 'banana':", banana_index)
Enfin, examinons les listes imbriquées (nested lists). Une liste imbriquée est une liste qui contient d'autres listes comme éléments. Ceci est utile pour créer des structures 2D comme une matrice ou une grille.
Ajoutez ce dernier bloc de code à list_operations.py :
## --- Nested Lists ---
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print("\n--- Nested Lists ---")
print("Matrix:", matrix)
## Access an entire inner list (a row)
first_row = matrix[0]
print("First row:", first_row)
## Access a specific element in the nested list
## To get the element '6', we access row 1, then column 2
element = matrix[1][2]
print("Element at matrix[1][2]:", element)
Enregistrez le fichier et exécutez le script une dernière fois :
python ~/project/list_operations.py
La sortie complète démontrera le tri, la requête et l'accès aux listes imbriquées :
--- Sorting Lists ---
Original numbers list: [3, 1, 4, 1, 5, 9, 2, 6]
After sort(): [1, 1, 2, 3, 4, 5, 6, 9]
After sort(reverse=True): [9, 6, 5, 4, 3, 2, 1, 1]
Original letters list: ['a', 'b', 'c', 'd']
After reverse(): ['d', 'c', 'b', 'a']
--- Querying Lists ---
Fruits list: ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
Count of 'apple': 2
Index of first 'banana': 3
--- Nested Lists ---
Matrix: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
First row: [1, 2, 3]
Element at matrix[1][2]: 6
Vous maîtrisez maintenant plusieurs techniques avancées pour travailler avec les listes Python.