Aller au contenu
Structures

Listes

Une liste est une suite ordonnée et modifiable de valeurs, indexée à partir de 0. C'est la structure de base pour stocker une série de notes, de ventes ou de lignes à traiter dans l'ordre.

  • list
  • index
  • append
  • slice
  • copie
  • alias

Syntaxe

Modèle
l = [v1, v2, v3]l[0]   l[-1]   l[debut:fin:pas]l.append(x)   l.extend(autre)   l.insert(i, x)l.pop()   l.remove(x)   x in l   len(l)copie = l.copy()

Exemple

Exemple concret
notes = [12, 15, 9, 18]notes.append(14)print(notes[0], notes[-1])        # → 12 14print(notes[1:3])                 # → [15, 9]print(len(notes), sum(notes) / len(notes))  # → 5 13.6alias = notes                     # même liste, deux nomscopie = notes.copy()              # nouvelle liste indépendantealias.append(20)print(len(notes), len(copie))     # → 6 5

À retenir

  1. Le découpage l[debut:fin] exclut fin et ne lève jamais d'erreur hors limites ; l[::-1] renvoie la liste inversée.
  2. Piège : b = a ne copie pas la liste, il crée un alias (un second nom pour le même objet) et modifier b modifie a. Copiez avec a.copy(), list(a) ou a[:], et pour une liste de listes avec copy.deepcopy(a).
  3. append ajoute un élément, extend ajoute tous les éléments d'une autre liste : l.append([1, 2]) imbrique une liste, l.extend([1, 2]) ajoute 1 puis 2.
  4. Pour construire une liste à partir d'une autre, une compréhension ([n * 5 for n in notes]) est plus courte et plus rapide qu'une boucle avec append.
  5. Piège : l.sort() trie sur place et renvoie None ; notes = notes.sort() efface donc la liste. Utilisez sorted(notes) pour obtenir une nouvelle liste triée.

Voir aussi