Listes
L = [e_1, e_2, ..., e_n]
Structure de données dynamique ordonnée
Définition :
Liste : structure de données permettant de stocker une collection d'éléments ordonnés pouvant être de types différents.
Caractéristiques :
📏 Taille variable
🏷️ Indices numériques (0 à n-1)
📦 Éléments hétérogènes
⚡ Accès direct par indice
🏷️ Indices numériques (0 à n-1)
📦 Éléments hétérogènes
⚡ Accès direct par indice
Opérations de base :
✅ Ajout d'éléments
✅ Suppression d'éléments
✅ Accès par indice
✅ Parcours de la liste
✅ Suppression d'éléments
✅ Accès par indice
✅ Parcours de la liste
Opérations sur les listes
Ajout : append(), insert()
Suppression : remove(), pop()
Recherche : in, index()
Parcours : for, while
Méthodes utiles
len(L) : taille de la liste
L.reverse() : inverser l'ordre
L.sort() : trier la liste
Itérations
for element in liste:
for i in range(len(liste)):
enumerate() : index et valeur
Compréhensions de listes
Exemples de code
# Création d'une liste
ma_liste = [1, 5, "NSI", True, 3.14]
# Ajouter un élément
ma_liste.append(42)
# Parcours par élément
for element in ma_liste:
print(element)
# Parcours par indice
for i in range(len(ma_liste)):
print(f"Indice {i}: {ma_liste[i]}")
# Compréhension de liste
carres = [x**2 for x in range(10)]
Algorithmes classiques
Recherche : O(n)
Somme : accumulateur
Maximum : comparaison
Erreurs fréquentes
Erreur 1 :
Dépassement d'indice
L = [1, 2, 3]
val = L[3] # Erreur! Indice 3 n'existe pas
L = [1, 2, 3]
val = L[3] # Erreur! Indice 3 n'existe pas
Erreur 2 :
Modification pendant le parcours
for element in L:
if element == 2:
L.remove(element) # Risque d'erreur
for element in L:
if element == 2:
L.remove(element) # Risque d'erreur
Erreur 3 :
Confusion entre copie et référence
L1 = [1, 2, 3]
L2 = L1 # L2 pointe vers la même liste
L1 = [1, 2, 3]
L2 = L1 # L2 pointe vers la même liste