Lorsque l’on parle de « listes » en Python 3, on fait référence à l’une des structures de données les plus fondamentales et omniprésentes dans ce langage de programmation. Une liste peut être considérée comme une collection ordonnée et modifiable d’éléments. Cela signifie que vous pouvez stocker une séquence d’objets de différents types (comme des entiers, des chaînes de caractères, voire d’autres listes) dans une seule variable, et accéder à ces éléments individuellement en utilisant des index.
Création d’une Liste :
Pour créer une liste en Python, on utilise des crochets [ ]
et on sépare les éléments par des virgules. Par exemple :

pythonma_liste = [1, 2, 3, 4, 5]
Cette instruction crée une liste appelée ma_liste
contenant les entiers de 1 à 5.
Accès aux Éléments de la Liste :
Les éléments dans une liste Python sont indexés, ce qui signifie qu’ils sont accessibles via leur position dans la liste. L’index du premier élément est 0, celui du deuxième élément est 1, et ainsi de suite. Pour accéder à un élément spécifique de la liste, vous pouvez utiliser l’opérateur d’indexation [ ]
. Par exemple :
pythonpremier_element = ma_liste[0]
deuxieme_element = ma_liste[1]
Modification des Éléments de la Liste :
Une caractéristique importante des listes en Python est leur mutabilité, ce qui signifie que vous pouvez modifier les éléments individuels de la liste. Par exemple, pour changer la valeur du deuxième élément de ma_liste
en 10, vous pouvez faire :
pythonma_liste[1] = 10
Après cette instruction, ma_liste
deviendra [1, 10, 3, 4, 5]
.
Ajout et Suppression d’Éléments :
Python offre plusieurs méthodes pour ajouter et supprimer des éléments d’une liste. Pour ajouter un élément à la fin de la liste, on utilise la méthode append()
:
pythonma_liste.append(6)
Après cela, ma_liste
deviendra [1, 10, 3, 4, 5, 6]
.
Pour supprimer un élément d’une liste en fonction de sa valeur, on utilise la méthode remove()
:
pythonma_liste.remove(3)
Après cette instruction, ma_liste
sera [1, 10, 4, 5, 6]
.
Si vous connaissez l’index de l’élément que vous souhaitez supprimer, vous pouvez utiliser l’opérateur del
:
pythondel ma_liste[2] # Supprime le troisième élément de la liste
Après cela, ma_liste
sera [1, 10, 5, 6]
.
Longueur de la Liste :
Pour connaître le nombre d’éléments dans une liste, vous pouvez utiliser la fonction len()
:
pythonlongueur_liste = len(ma_liste)
Dans cet exemple, longueur_liste
contiendra la valeur 4, car il y a 4 éléments dans ma_liste
.
Itération à Travers une Liste :
Vous pouvez parcourir tous les éléments d’une liste en utilisant une boucle for
:
pythonfor element in ma_liste:
print(element)
Cette boucle affichera chaque élément de ma_liste
sur une ligne distincte.
Tranches de Liste :
Une autre fonctionnalité utile des listes en Python est la possibilité de créer des « tranches » en extrayant une partie de la liste. Cela se fait en spécifiant un début et une fin pour la tranche, séparés par :
. Par exemple :
pythonsous_liste = ma_liste[1:3]
Cela extraira les éléments de ma_liste
de l’index 1 inclus à l’index 3 exclu, donc sous_liste
contiendra [10, 5]
.
Méthodes de Liste Utiles :
Python propose également de nombreuses autres méthodes pour manipuler les listes. Par exemple :
insert(index, element)
: Pour insérer un élément à un index spécifique.pop(index)
: Pour supprimer et renvoyer l’élément à un index spécifique.index(value)
: Pour trouver l’index de la première occurrence d’une valeur spécifique.count(value)
: Pour compter le nombre d’occurrences d’une valeur spécifique dans la liste.sort()
: Pour trier les éléments de la liste.
Copie de Liste :
Il est important de noter que lorsque vous affectez une liste à une autre variable, vous créez une référence à la même liste, pas une copie indépendante. Par exemple :
pythonliste_originale = [1, 2, 3]
copie_liste = liste_originale
Maintenant, toute modification apportée à copie_liste
affectera également liste_originale
. Pour créer une copie indépendante de la liste, vous pouvez utiliser la méthode copy()
ou la méthode de slicing :
pythoncopie_liste = liste_originale.copy() # Méthode copy()
copie_liste = liste_originale[:] # Méthode de slicing
Cela garantira que les modifications apportées à copie_liste
ne modifieront pas liste_originale
.
En conclusion, les listes en Python sont des structures de données extrêmement polyvalentes et puissantes, largement utilisées dans le développement de logiciels pour stocker, manipuler et organiser des collections d’éléments. Grâce à leur flexibilité et à leurs nombreuses méthodes intégrées, les listes offrent une grande efficacité et une facilité d’utilisation pour une variété de tâches de programmation.
Plus de connaissances
Bien sûr, plongeons plus en profondeur dans les détails et les fonctionnalités avancées des listes en Python.
Compréhension de Liste :
La compréhension de liste est une syntaxe concise et élégante pour créer des listes de manière dynamique. Elle permet de créer une nouvelle liste en une seule ligne en appliquant une expression à chaque élément d’une séquence (comme une autre liste, une plage, etc.). Par exemple :
pythonnombres = [1, 2, 3, 4, 5]
carres = [x**2 for x in nombres]
Cette expression crée une nouvelle liste carres
où chaque élément est le carré des nombres dans la liste nombres
, résultant en [1, 4, 9, 16, 25]
.
Méthodes de Liste avec des Fonctions Lambda :
Les méthodes de liste comme map()
et filter()
peuvent être utilisées en conjonction avec des fonctions lambda pour appliquer une fonction à chaque élément d’une liste ou pour filtrer les éléments selon une condition. Par exemple :
pythonnombres = [1, 2, 3, 4, 5]
carres = list(map(lambda x: x**2, nombres))
pairs = list(filter(lambda x: x % 2 == 0, nombres))
Cette approche permet de manipuler rapidement et facilement les listes en utilisant des fonctions anonymes.
Liste de Listes (Listes Nidifiées) :
Les listes en Python peuvent contenir n’importe quel type d’objet, y compris d’autres listes. Cela permet de créer des structures de données complexes, telles que des matrices ou des arbres, en utilisant des listes imbriquées. Par exemple :
pythonmatrice = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Dans cette liste de listes, chaque sous-liste représente une ligne de la matrice.
Opérations sur les Listes :
Python offre plusieurs opérations sur les listes pour les concaténer, les multiplier et les répéter. Par exemple :
pythonliste1 = [1, 2, 3]
liste2 = [4, 5, 6]
concatenation = liste1 + liste2 # [1, 2, 3, 4, 5, 6]
repetition = liste1 * 3 # [1, 2, 3, 1, 2, 3, 1, 2, 3]
Fonctions de Tri Personnalisées :
La méthode sort()
permet de trier une liste en place. Elle peut également être utilisée avec un paramètre key
pour spécifier une fonction de comparaison personnalisée. Par exemple :
pythonnombres = [5, 2, 8, 1, 6]
nombres.sort() # Tri par ordre croissant
nombres.sort(reverse=True) # Tri par ordre décroissant
nombres.sort(key=lambda x: x % 2) # Tri en plaçant les nombres pairs avant les impairs
La Fonction zip()
:
La fonction zip()
est utilisée pour combiner les éléments de deux listes dans des tuples. Elle renvoie un itérateur qui génère ces tuples. Par exemple :
pythonnoms = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
personnes = list(zip(noms, ages)) # [('Alice', 25), ('Bob', 30), ('Charlie', 35)]
Cela peut être utile pour parcourir simultanément deux listes ou pour fusionner des données provenant de différentes sources.
Listes en Compréhension Multiple :
Il est également possible d’utiliser des listes en compréhension multiple pour créer des listes de manière plus complexe à partir de plusieurs séquences. Par exemple :
pythonproduit_cartesien = [(x, y) for x in range(3) for y in range(3)]
Cela crée une liste de tuples contenant toutes les paires possibles d’éléments des deux plages, soit [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
.
Listes et Mémoire :
Il est important de noter que les listes en Python sont des objets mutables et qu’elles sont stockées en mémoire de manière dynamique. Cela signifie que la taille d’une liste peut changer au fur et à mesure que des éléments sont ajoutés ou supprimés, et que les listes peuvent être modifiées sans nécessiter la création d’une nouvelle liste.
En résumé, les listes en Python offrent une gamme étendue de fonctionnalités pour stocker, manipuler et organiser des données de manière efficace et flexible. Leur polyvalence et leur facilité d’utilisation en font l’une des structures de données les plus fondamentales et les plus utilisées dans le langage de programmation Python.