En Python (comme dans d'autres langages), les listes sont l’un des types de données les plus polyvalents et les plus utilisés. Elles permettent de stocker des collections d’éléments, que ce soient des nombres, des chaînes de caractères, ou même d’autres listes. Cette flexibilité fait des listes un outil indispensable pour tout programmeur Python. Après les variables, c'est l'une des premières cordes à ajouter à son arc. Let's go!
Pour créer une liste, on utilise des crochets []
et on sépare chaque élément par une virgule ,
.
# Création d'une liste d'entiers
nombres = [1, 2, 3, 4, 5]
# Création d'une liste de chaînes de caractères
salade_de_fruits = ["pomme", "banane", "orange"]
# Création d'une liste vide
liste_vide = []
Chaque élément d’une liste est accessible à l’aide de son index, qui commence à 0 pour le premier élément et -1 pour le dernier élément. Tout comme la brochette présentée sur la photo, une liste peut contenir différents types de données, tels que : des chaînes de caractères, des nombres, des objets, des tableaux, et même des valeurs booléennes.
# Affichage du premier élément de la liste 'brochette'
print(brochette[0]) # Affiche "Morceau de poivron"
# Affichage du dernier élément de la liste 'brochette'
print(brochette[-1]) # Affiche "Morceau de viande"
# Modification d'un élément
brochette[1] = "Morceau de Thon"
print(brochette) # Affiche ["Morceau de poivron", "Morceau de Thon", "Morceau de viande"]
Voici un apperçu du résultat attendu :
Python offre un large éventail d’opérations pour manipuler les listes, facilitant ainsi le travail avec des collections de données. Voici les opérations les plus courantes et utiles :
Ajouter des éléments :
append()
: ajoute un élément à la fin de la liste.
insert(index, element)
: insère un élément à l’index spécifié.
extend(iterable)
: Ajoute tous les éléments d’un itérable (comme une autre liste) à la fin de la liste actuelle.
fruits = ['pomme', 'banane']
fruits.append('orange') # fruits devient ['pomme', 'banane', 'orange']
fruits.insert(1, 'kiwi') # fruits devient ['pomme', 'kiwi', 'banane', 'orange']
fruits.extend(['fraise', 'melon']) # fruits devient ['pomme', 'kiwi', 'banane', 'orange', 'fraise', 'melon']
Supprimer des éléments :
remove(element)
: supprime la première occurrence de l’élément.
pop(index)
: supprime et retourne l’élément à l’index spécifié (par défaut, le dernier élément).
clear()
: Supprime tous les éléments de la liste.
fruits.remove('banane') # fruits devient ['pomme', 'kiwi', 'orange', 'fraise', 'melon']
dernier_fruit = fruits.pop() # dernier_fruit est 'melon', fruits devient ['pomme', 'kiwi', 'orange', 'fraise']
fruits.clear() # fruits devient []
Accéder aux éléments :
index(element)
: Retourne l'index de la première occurrence de l'élément spécifié. Une exception ValueError
est levée si l'élément n'existe pas.
count(element)
: Retourne le nombre d'occurrences de l'élément dans la liste.
index_kiwi = fruits.index('kiwi') # retourne l'index de 'kiwi'
nombre_oranges = fruits.count('orange') # compte le nombre d'oranges dans la liste
Concaténer des listes :
+
: fusionne deux listes.
*
: Répète les éléments d’une liste un certain nombre de fois.
legumes = ['carotte', 'poivron']
panier = fruits + legumes # panier devient ['pomme', 'kiwi', 'orange', 'fraise', 'carotte', 'poivron']
repetitions = ['a'] * 3 # répétitions devient ['a', 'a', 'a']
Exemple concret :
Imaginons un site web de vente de produits électroniques. On peut utiliser une liste pour stocker les différents produits en vente :
produits = ["Ordinateur portable", "Smartphone", "Casque audio", "Téléviseur"]
Ensuite, si un nouveau produit est ajouté (par exemple, une tablette), on utilise la méthode append()
:
produits.append("Tablette")
print(produits) # Affiche ["Ordinateur portable", "Smartphone", "Casque audio", "Téléviseur", "Tablette"]
Pour parcourir chaque élément d’une liste, on utilise la boucle for
:
# Afficher tous les fruits de la liste
for fruit in fruits:
print(fruit)
# Afficher les indices et les valeurs des éléments
for index, fruit in enumerate(fruits):
print(f"Index: {index}, Fruit: {fruit}")
len(liste)
: retourne la longueur de la liste (nombre d’éléments).
max(liste)
: retourne la valeur maximale de la liste (pour des listes de nombres).
min(liste)
: retourne la valeur minimale de la liste (pour des listes de nombres).
sorted(liste)
: retourne une nouvelle liste triée.
Les listes compréhensions permettent de créer des nouvelles listes de manière concise et élégante. Franchement, j'adore ce concept, et c'est ce qui me manque le plus quand je code dans un autre langage, coucou PHP. 😉
Exemple :
Créer une liste contenant le carré de chaque nombre d’une liste donnée :
nombres = [1, 2, 3, 4, 5]
carres = [nombre**2 for nombre in nombres]
print(carres) # Affiche [1, 4, 9, 16, 25]
Intégration dans un projet :
Imaginons un projet sur lequel l’on doit stocker les prix des produits en vente. Une liste compréhension peut être utilisée pour créer une liste contenant les prix multipliés par une taxe de 20% :
prix_produits = [100, 50, 200, 80]
prix_avec_taxe = [prix * 1.20 for prix in prix_produits]
print(prix_avec_taxe) # Affiche [120.0, 60.0, 240.0, 96.0]
Les listes sont des outils puissants et polyvalents pour manipuler des collections d’éléments en Python. Grâce à leur simplicité et à la diversité des opérations disponibles, elles jouent un rôle essentiel dans la gestion des données, que ce soit dans des scripts simples ou des applications plus élaborées. En maîtrisant les exemples et concepts présentés dans cet article, vous êtes désormais capable de travailler efficacement avec les listes pour structurer vos données.
Cependant, pour des cas où les données doivent être organisées sous forme de paires clé-valeur, les listes atteignent leurs limites. C’est là qu’interviennent les dictionnaires, une autre structure de données essentielle en Python. Dans le prochain chapitre, nous explorerons les dictionnaires et leur capacité à associer des clés uniques à des valeurs, offrant ainsi une flexibilité encore plus grande pour organiser vos informations.