Listes, le type list
#
Une liste Python est une collection numérotée d’éléments.
Création #
Pour créer une liste on a deux approches :
-
Directement avec ses éléments :
amis = ["Thiago", "Aby", "Zoé"]
Le type de
amis
estlist
, ses éléments sont desstr
(string : chaînes de caractères).notes = [20, 12, 16, 12, 18]
Le type de
notes
est encorelist
, ses éléments sont desint
(integer : entiers relatifs). -
À l’aide d’une boucle :
valeurs = [] for x in range(3): valeurs.append(2 * x + 1)
Soit, ligne par ligne :
- on créer une liste vide appelée
valeurs
- pour $x$ de 0 inclu à 3 exclu,
- ajouter $2x+5$ à la liste.
Après l’éxécution du script,
valeurs
contient :[1, 3, 5]
.Détaillons encore, tour par tour après la ligne
valeurs.append(2 * x + 1)
:Etape x
2 * x + 1
valeurs
Avant la boucle pas défini pas défini []
premier tour 0 1 [1]
second tour 1 3 [1, 3]
troisième tour 2 5 [1, 3, 5]
Après la boucle pas défini pas défini [1, 3, 5]
- on créer une liste vide appelée
Accéder à un élément. #
Les éléments d’une liste sont numérotés, on peut y accéder grâce à leurs indices.
>>> amis = ["Thiago", "Aby", "Zoé"]
>>> amis[0]
"Thiago"
>>> amis[1]
"Aby"
>>> amis[2]
"Zoé"
>>> amis[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
La dernière instruction a provoqué une erreur : il n’y a pas d’élément d’indice 3 dans amis
.
Comme on peut le voir en faisant amis[0]
, le premier élément est numéroté par l’indice 0.
Ainsi, Thiago est bien le premier élément de la liste mais son indice est 0
. Aby est le second élément de liste et son indice est 1. etc.
Ajouter des éléments à une liste. #
Cela se fait avec la méthode append
comme on l’a vu plus haut :
>>> fruits = []
>>> fruits
[]
>>> fruits.append("Pomme")
>>> fruits.append("Poire")
>>> fruits
["Pomme", "Poire"]
Les instructions précédentes produisent le même résultat que : fruits = ["Pomme", "Poire"]
Ainsi qu’on l’a déjà dit, cette démarche est surtout employée dans des boucles.
Longueurs, autres outils #
-
La longueur d’une liste est son nombre d’éléments, elle s’obient avec
len
.>>> amis ["Pierre", "Paul"] # je me suis disputé avec les précédents >>> len(amis) 2
Cette fonction
len
accepte aussi une chaîne de caractères :>>> len("Bonjour") 7 >>> len("Python") 6
-
Présence d’un élément.
Python permet de répondre directement à la question : “Est-ce que la liste
l
contient l’élémentx
?”>>> amis = ["Pierre", "Paul"] >>> "Thiago" in amis # c'est pas mon pote ! False >>> "Paul" in amis # lui je l'aime bien ! True
Boucles et listes #
On peut écrire des boucles bornées (for
) qui parcourent une liste.
Pour chacun de mes amis, écrire : “Tu est mon ami prénom”.
Comme en maternelle.
amis = ["Gustave", "Léon"] # je change d'amis toutes les 5 minutes
for prenom in amis:
print("Tu est mon ami", prenom)
Ce script va produire l’affichage :
Tu es mon ami Gustave
Tu es mon ami Léon
Exercices #
Exercice 0 #
On considère mes vrais amis (les autres n’étaient vraiment pas cools) :
amis = ["John", "Sharon", "Jack", "Marlon"]
- Quel est l’indice de
"John"
? de"Marlon"
? - Comment accéder à l’ami d’indice 2 ? Qui est-ce ?
- Comment compter le nombre d’amis avec la fonction
len
?
Exercice 1 #
-
Créer directement la liste des notes du tableau ci-dessous
Note 12 13 10 2 14 -
À l’aide d’une boucle, calculer la somme des notes.
-
Vérifier avec la fonction
sum
>>> sum([1, 2, 3]) 6
-
En utilisant le résultat précédent et la fonction
len
, calculer la moyenne du devoir.
Exercice 2 #
On considère mes nouveaux amis : Gandalf, Saroumane, Frodon et Bilbon.
Vive les amis imaginaires.
- Créer la liste de mes amis.
- Produire l’affichage suivant en utilisant une boucle :
Gandalf comporte 7 lettres
Saroumane comporte 9 lettres
Frodon comporte 6 lettres
Bilbon comporte 6 lettres
Exercice 3 #
On considère la fonction mathématique définie sur $\mathbb{R}$ par $f(x) = 3x - 2$.
- Définir la fonction.
- Créer la liste des images par $f$ des entiers entre 1 et 10 inclus.
Conclusion #
Les listes Python sont très pratiques pour collecter des éléments, de n’importe quelle nature. On les rencontre très souvent.
Il existe de nombreuses autres méthodes pour les manipuler. Les plus curieux peuvent consulter le cours de première NSI ou la documentation officielle ici et là.