Lexique — Première & Terminale
Notion de liste
Listes et ensembles
Générer une liste en extension
En Python, une liste se génère en extension en énumérant directement ses éléments entre crochets, ou en la construisant au fur et à mesure par des ajouts successifs.
notes = [12, 15, 8, 17, 10] # liste generee en extension
carres = [] # liste vide
for i in range(5):
carres.append(i ** 2) # ajouts successifs
# carres vaut [0, 1, 4, 9, 16]Générer une liste en compréhension
Une liste en compréhension se construit à partir d'une expression appliquée à chaque élément d'un ensemble de départ (souvent range), éventuellement filtrée par une condition — ce qui permet de travailler la logique (voir la page « Vocabulaire ensembliste et logique »).
carres = [x**2 for x in range(10)]
# carres vaut [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
pairs = [x**2 for x in range(10) if x % 2 == 0]
# pairs vaut [0, 4, 16, 36, 64] : seuls les x pairs sont gardesCette écriture rappelle la notation ensembliste : une liste en compréhension définit une collection à partir d'une propriété, comme un ensemble en compréhension.
Manipuler une liste : éléments et indices
Accéder à un élément par son indice
Chaque élément d'une liste possède un indice (sa position dans la liste), en commençant à 0.
fruits = ["pomme", "banane", "cerise"]
fruits[0] # "pomme" (premier element, indice 0)
fruits[2] # "cerise" (troisieme element, indice 2)
fruits[-1] # "cerise" (dernier element)
len(fruits) # 3 (nombre d'elements de la liste)Modifier des éléments et la longueur
fruits[1] = "kiwi" # remplace "banane" par "kiwi"
fruits.append("mangue") # ajoute un element a la fin
fruits.insert(0, "abricot") # insere en tete de liste (indice 0)
del fruits[2] # supprime l'element d'indice 2Parcourir une liste, itérer sur ses éléments
Parcourir par indice
notes = [12, 15, 8, 17, 10]
for i in range(len(notes)):
print("Note", i, ":", notes[i])Itérer directement sur les éléments
Lorsqu'on n'a pas besoin de connaître la position, il est le plus souvent préférable d'itérer directement sur les éléments de la liste, sans passer par les indices :
total = 0
for note in notes:
total = total + note
moyenne = total / len(notes)Exemple. Compter, parmi une liste de notes, le nombre de notes supérieures ou égales à 10 :
notes = [12, 15, 8, 17, 10, 6, 9]
nb_admis = 0
for note in notes:
if note >= 10:
nb_admis = nb_admis + 1
# nb_admis vaut 4