🔡 Les listes
Une liste est une structure de données permettant de stocker plusieurs valeurs dans une seule variable. Une variable classique contient une seule valeur :
prenom = "Thomas"
Une liste peut en contenir plusieurs :
prenoms = ["Thomas", "Alice", "Marc"]
Les éléments d'une liste sont placés entre crochets [ ] et séparés par des virgules.
✴️ Créer une liste
Une liste peut contenir autant de valeurs que nécessaire.
nombres = [12, 25, 8, 44]
animaux = ["Chien", "Chat", "Poule"]
notes = [12.5, 14.0, 18.5]
Python autorise également les listes contenant plusieurs types de données ou être vide.
donnees = ["Thomas", 25, True, 1.82]
liste_vide = []
🔎 Accéder aux éléments d'une liste
Chaque élément possède une position appelée indice. Le premier élément se trouve toujours à l'indice 0. Puis on incrémente l'indice pour se déplacer dans la liste depuis le premier élément jusqu'au dernier. Il est également possible d'utiliser des indices négatifs. Dans ce cas, Python commence à compter depuis la fin de la liste (indice -1).
animaux = ["Chien", "Chat", "Rat", "Coq"]
| Indice positif | Valeur | Indice négatif |
|---|---|---|
| 0 | Chien | -4 |
| 1 | Chat | -3 |
| 2 | Rat | -2 |
| 3 | Coq | -1 |
Pour accéder à un élément, on indique son indice entre crochets.
animaux = ["Chien", "Chat", "Rat", "Coq"]
print(animaux[0])
print(animaux[2])
print(animaux[-1])
print(animaux[-3])
Résultat :
Chien
Rat
Coq
Chat
Si l'indice n'existe pas, Python génère une erreur.
animaux[10]
Erreur :
IndexError
Sous-listes (slicing)
Il est possible de récupérer plusieurs éléments à la fois grâce au découpage (slicing). L'indice de début est inclus alors que l'indice de fin est exclu.
animaux = ["Chien", "Chat", "Rat", "Coq", "Vache", "Cochon"]
print(animaux[0:3])
print(animaux[2:])
Résultat :
["Chien", "Chat", "Rat"]
["Rat", "Coq", "Vache", "Cochon"]
👐 Manipuler une liste
Modifier une valeur
animaux = ["Chien", "Chat", "Rat"]
animaux[1] = "Lion"
print(animaux)
Résultat :
["Chien", "Lion", "Rat"]
Ajouter un élément
La méthode append() ajoute un élément à la fin de la liste.
animaux = ["Chien", "Chat"]
animaux.append("Poule")
print(animaux)
Résultat :
["Chien", "Chat", "Poule"]
Supprimer un élément
La méthode remove() supprime une valeur présente dans la liste.
animaux = ["Chien", "Chat", "Poule"]
animaux.remove("Chat")
print(animaux)
Résultat :
["Chien", "Poule"]
Connaître le nombre d'éléments
La fonction len() renvoie la taille d'une liste.
animaux = ["Chien", "Chat", "Rat"]
print(len(animaux))
Résultat :
3
Concaténer deux listes
L'opérateur + permet de fusionner deux listes.
liste1 = ["Chien", "Chat"]
liste2 = ["Rat", "Coq"]
print(liste1 + liste2)
Résultat :
["Chien", "Chat", "Rat", "Coq"]
Dupliquer une liste
L'opérateur * permet de répéter son contenu.
print(["A", "B"] * 3)
Résultat :
["A", "B", "A", "B", "A", "B"]
📑 Les listes de listes
Une liste peut contenir d'autres listes. On parle alors de liste de listes ou de tableau à plusieurs dimensions.
zoo = [["Girafe", 4], ["Singe", 10], ["Lion", 6]]
Premier niveau :
print(zoo[1])
Résultat :
["Singe", 10]
Deuxième niveau :
print(zoo[2][0])
Résultat :
Lion
Le premier indice désigne la ligne et le second désigne la colonne.
🟩 Les listes et Excel
Lorsque l'on utilise une fonction Python dans Excel, les données provenant des cellules sont automatiquement converties en types Python. Une cellule unique est généralement transmise comme une valeur simple, en revanche, lorsqu'une plage de cellules est transmise à une fonction Python, Excel renvoie une liste de listes.
Exemple Excel :
| 10 | 20 |
| 30 | 40 |
Si cette plage est passée à une fonction, Python recevra :
[[10.0, 20.0], [30.0, 40.0]]
Chaque liste interne représente une ligne du tableau Excel, ainsi :
print(valeurs[0]) # Correspond à la première ligne
print(valeurs[1][0]) # Correspond à la cellule (ligne = 2, colonne = 1)
Résultat :
[10.0, 20.0]
30.0