2. Listes¶
1. Introduction aux listes¶
Une liste est une collection ordonnée et modifiable d’éléments. Les éléments d’une liste peuvent être de n’importe quel type (nombres, chaînes de caractères, etc.).
1.1 Création d’une liste¶
nombres = [1, 2, 3, 4, 5]
jours = ["lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"]
2. Accès aux éléments d’une liste¶
2.1 Accéder à un élément¶
Les indices commencent à 0.
2.2 Accéder à une sous-liste (slicing)¶
Le slicing permet d’extraire une partie d’une liste en utilisant la syntaxe [début:fin:pas]. Voici les détails des
différentes options avec le : :
-
liste[debut:fin]:- Extrait les éléments de l’index
début(inclus) à l’indexfin(exclus). - Si
débutest omis, le slicing commence au début de la liste. - Si
finest omis, le slicing va jusqu’à la fin de la liste. - Exemple :
- Extrait les éléments de l’index
-
liste[debut:fin:pas]:pasindique l’intervalle entre les éléments extraits.- Si
pasest omis, il vaut1par défaut. - Exemple :
-
liste[::-1]:- Inverse la liste en utilisant un
pasde-1. - Exemple :
- Inverse la liste en utilisant un
2.3 Gestion des index invalides et des index négatifs¶
Index invalides¶
Si vous essayez d’accéder à un index qui n’existe pas dans la liste, Python lève une erreur IndexError.
- Exemple d’erreur :
Index négatifs¶
Les index négatifs permettent d’accéder aux éléments d’une liste en partant de la fin :
-1: Dernier élément.-2: Avant-dernier élément.-
Et ainsi de suite.
-
Exemple :
slicing avec des index négatifs¶
Vous pouvez également utiliser des index négatifs dans le slicing :
- Exemple :
3. Calculs avec des boucles for¶
3.1 Somme des éléments d’une liste¶
nombres = [10, 20, 30, 40, 50]
somme = 0
for nombre in nombres:
somme += nombre
print(f"La somme est {somme}.") # Affiche "La somme est 150."
Remarques
- Si la liste est vide, le résultat de la somme est
0. - Il existe une fonction pour faire exactement ce calcul : la fonction
sum(). Elle effectue la même boucle que l’exemple précédent.
3.2 Produit des éléments d’une liste¶
nombres = [1, 2, 3, 4, 5]
produit = 1
for nombre in nombres:
produit *= nombre
print(f"Le produit est {produit}.") # Affiche "Le produit est 120."
3.3 Afficher les éléments d’une liste de chaînes¶
jours = ["lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"]
for jour in jours:
print(jour)
Sortie :
3.4 Afficher les éléments avec leur index¶
jours = ["lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"]
for index in range(len(jours)):
print(f"{index} : {jours[index]}")
Sortie :
4. Fonctions (méthodes) sur les listes¶
4.1 Ajouter un élément¶
4.2 Supprimer un élément¶
nombres = [10, 20, 30, 20, 40]
nombres.remove(20)
print(nombres) # Affiche [10, 30, 20, 40]
nombres.remove(123) # Lève une erreur ValueError: list.remove(x): x not in list
Remarque
Si la valeur n’est pas dans la liste, une erreur ValueError est levée par remove. Il faut donc soit utiliser un
try/except, soit vérifier l’existence de la valeur avant de la supprimer.
Remarque
La méthode remove() supprime la première occurrence de la valeur spécifiée. Si la valeur est présente plusieurs
fois, il faut utiliser une boucle pour supprimer toutes les occurrences.
4.3 Supprimer un élément à un index donné¶
4.4 Trier une liste¶
4.5 Inverser une liste¶
4.6 Trouver l’index d’un élément¶
jours = ["lundi", "mardi", "mercredi", "jeudi"]
index = jours.index("mercredi")
print(index) # Affiche 2
Remarque
- Tout comme
remove(), si l’élément n’est pas dans la liste, une erreurValueErrorest levée. Il faut donc soit utiliser untry/except, soit vérifier l’existence de l’élément avant de le chercher. - Également comme
remove(), si l’élément est dans la liste plusieurs fois, il faut utiliser une boucle pour trouver tous les index, ou une compréhension de liste.
5. Algorithmes de base sur les listes¶
5.1 Recherche d’un élément¶
nombres = [10, 20, 30, 40, 50]
cible = 30
trouve = False
for nombre in nombres:
if nombre == cible:
trouve = True
break
print(f"L'élément {cible} est présent : {trouve}") # Affiche "L'élément 30 est présent : True"
Remarque
Cet exemple utilise une boucle for pour parcourir la liste pour donner un exemple simple de parcours de liste.
Dans ce cas-ci particulier, il serait plus simple d’utiliser in comme dans un exemple précédent.
5.2 Filtrer les éléments pairs¶
nombres = [10, 15, 20, 25, 30, 35]
pairs = []
for nombre in nombres:
if nombre % 2 == 0:
pairs.append(nombre)
print(pairs) # Affiche [10, 20, 30]
5.3 Trouver le maximum d’une liste¶
nombres = [10, 20, 30, 40, 50]
maximum = nombres[0]
for nombre in nombres:
if nombre > maximum:
maximum = nombre
print(f"Le maximum est {maximum}.") # Affiche "Le maximum est 50."
Remarque
La boucle précédente pourrait être remplacée par un appel à la fonction max(), avec la liste de nombres en argument.
5.4 Trouver le minimum d’une liste¶
nombres = [10, 20, 30, 40, 50]
minimum = nombres[0]
for nombre in nombres:
if nombre < minimum:
minimum = nombre
print(f"Le minimum est {minimum}.") # Affiche "Le minimum est 10."
Remarque
La boucle précédente pourrait être remplacée par un appel à la fonction min(), avec la liste de nombres en argument.
5.5 Calculer la moyenne d’une liste¶
nombres = [10, 20, 30, 40, 50]
somme = 0
for nombre in nombres:
somme += nombre
moyenne = somme / len(nombres)
print(f"La moyenne est {moyenne}.") # Affiche "La moyenne est 30.0."
Utilisation de l’IA
Page rédigée en partie avec l’aide d’un assistant IA. L’IA a été utilisée pour générer des explications, des exemples et/ou des suggestions de structure. Toutes les informations ont été vérifiées, éditées et complétées par l’auteur.