Fiche de révision : Listes en Python

Plan du Cours

  1. Notion et création des listes
  2. Longueur et accès par indices
  3. Mutabilité et parcours
  4. Concaténation comparaison appartenance
  5. Slicing et suppression
  6. Méthodes de modification
  7. Copie et duplication des listes

1. Notion et création des listes

Notions clés & Définitions

  • liste : Une séquence d’objets pouvant être de types différents, y compris d’autres listes.

Points essentiels

★ À maîtriser

  • Une liste s’écrit entre crochets et ses éléments sont séparés par des virgules.
  • Chaque élément d’une liste est repéré par un indice entier.
  • Une liste peut être définie en compréhension, par exemple [i**2 for i in range(10)] construit la liste des carrés des entiers de 0 à 9.

Compléments

  • On peut créer une liste vide avec [] ou avec list().
  • Une liste peut être définie en extension en écrivant tous ses éléments, par exemple [1, 2.5, [1, 2], 'a'].
  • La fonction list(objet) crée une liste à partir de n’importe quel objet itérable, par exemple list(range(1,10,2)) ou list('Bonjour').

2. Longueur et accès par indices

Points essentiels

★ À maîtriser

  • len(L) renvoie le nombre d’objets présents dans la liste L, appelé longueur de la liste.
  • Avec l’indexation positive, les indices d’une liste commencent à 0 et vont jusqu’à len(L)-1.
  • Avec l’indexation négative, L[-1] désigne le dernier élément, L[-2] l’avant-dernier, et plus généralement L[-len(L)] le premier.

Compléments

  • Pour L = [1, 2.5, [1, 2], 'A'], on a L[1] = 2.5, L[2] = [1, 2], L[-1] = 'A' et L[-2] = [1, 2].

3. Mutabilité et parcours

Notions clés & Définitions

  • objet mutable : Une liste est un objet mutable, donc ses éléments peuvent être modifiés individuellement.
  • objet itérable : Une liste est un objet itérable, donc on peut la parcourir directement par élément avec for el in L.

Points essentiels

★ À maîtriser

  • On modifie un élément par affectation d’indice, par exemple liste[1] = 3 ou liste[-1] = 'B'.
  • Un parcours par indice utilise une boucle for sur range(len(L)) et permet d’accéder à la fois à l’indice i et à l’élément L[i].

Compléments

  • Si un élément d’une liste est lui-même une liste, on peut modifier ses éléments avec une double indexation comme liste[2][0] = 'un'.
  • enumerate(L) permet de parcourir une liste en obtenant simultanément chaque indice i et chaque élément el.

4. Concaténation comparaison appartenance

Points essentiels

★ À maîtriser

  • La concaténation avec + met deux listes bout à bout et produit une nouvelle liste.
  • Le test d’égalité == entre deux listes renvoie True si elles ont les mêmes éléments dans le même ordre, sinon False.
  • L’opérateur in teste l’appartenance d’une valeur à une liste, mais ce n’est pas une opération élémentaire car il nécessite un parcours de la liste.

Compléments

  • La répétition avec * crée une liste en répétant un ou plusieurs éléments un certain nombre de fois, par exemple [0] * 7.
  • On peut construire une liste à partir d’une liste vide en concaténant successivement des listes à un élément, par exemple L = L + [i**2].
  • La comparaison < entre listes est lexicographique et deux éléments distincts ne peuvent être comparés que s’ils sont de même type.

5. Slicing et suppression

Notions clés & Définitions

  • slicing : Extrait une sous-liste avec la syntaxe L[dep:fin:pas].

Points essentiels

★ À maîtriser

  • Dans L[dep:fin:pas], les indices vont de dep inclus à fin exclu, et si pas est omis il vaut 1.
  • L’instruction del supprime un élément ou une tranche en connaissant son indice, par exemple del L[5] ou del L[:2].

Compléments

  • Si dep est omis il vaut 0, si fin est omis la sous-liste va jusqu’à la fin, et si pas est négatif il faut lire de droite à gauche.
  • Si pas est positif, il faut dep < fin pour obtenir des éléments, et si pas est négatif, il faut dep > fin, sinon la sous-liste renvoyée est vide.

6. Méthodes de modification

Points essentiels

★ À maîtriser

  • La méthode append(objet) ajoute un objet en fin de liste.
  • La méthode insert(indice, objet) insère un objet à l’indice indiqué dans la liste.
  • L[2:2] = [3, 4] insère les éléments 3 et 4 à l’indice 2, tandis que L.insert(2, [3, 4]) insère une seule sous-liste [3, 4] comme élément.
  • La méthode pop() renvoie le dernier élément de la liste puis le supprime de cette liste.
  • La méthode remove(valeur) supprime la première occurrence de cette valeur dans la liste.

Compléments

  • Le slicing en affectation permet de remplacer une tranche par une autre sous-liste, par exemple L[2:4] = [3].

7. Copie et duplication des listes

Points essentiels

★ À maîtriser

  • Une affectation comme L2 = L1 ne duplique pas la liste mais crée une deuxième étiquette vers le même objet en mémoire.
  • Comme les listes sont mutables, une modification faite via L1 après L2 = L1 est répercutée sur L2.
  • La copie par tranche L3 = L1[:] duplique la liste extérieure mais ne duplique pas les éléments internes qui sont eux-mêmes des listes.
  • Pour dupliquer totalement une liste, on utilise deepcopy du module copy.

Compléments

  • Après L2 = L1, L3 = L1[:] et L4 = deepcopy(L1), une modification de L1 et de L1[3][0] affecte L2, affecte partiellement L3, mais n’affecte pas L4.

Tableaux de synthèse

Modes de copie d’une liste

MéthodeListe externe indépendanteSous-listes indépendantes
L2 = L1NonNon
L3 = L1[:]OuiNon
L4 = deepcopy(L1)OuiOui

Pièges & confusions fréquents

  1. tuple en Python : un tuple est aussi une séquence mais il n’est pas mutable.
  2. parenthèses : elles ne définissent pas une liste mais un tuple ou une simple expression.
  3. clé de dictionnaire : une liste est indexée par positions entières et non par clés nommées.
  4. {} : cette écriture crée un dictionnaire vide, pas une liste vide.
  5. compréhension de liste : elle construit la liste par une formule au lieu d’énumérer tous les éléments.
  6. boucle for seule : une compréhension construit directement une nouvelle liste.
  7. list() sans argument : cette écriture crée seulement une liste vide.

Checklist Examen

  1. liste
  2. objet mutable
  3. slicing
  4. objet itérable
  5. Une liste s’écrit entre crochets et ses éléments sont séparés par des virgules.
  6. len(L) renvoie le nombre d’objets présents dans la liste L, appelé longueur de la liste.
  7. On modifie un élément par affectation d’indice, par exemple liste[1] = 3 ou liste[-1] = 'B'.
  8. La concaténation avec + met deux listes bout à bout et produit une nouvelle liste.
  9. Dans L[dep:fin:pas], les indices vont de dep inclus à fin exclu, et si pas est omis il vaut 1.
  10. La méthode append(objet) ajoute un objet en fin de liste.
  11. Une affectation comme L2 = L1 ne duplique pas la liste mais crée une deuxième étiquette vers le même objet en mémoire.
  12. Chaque élément d’une liste est repéré par un indice entier.
  13. Avec l’indexation positive, les indices d’une liste commencent à 0 et vont jusqu’à len(L)-1.
  14. Un parcours par indice utilise une boucle for sur range(len(L)) et permet d’accéder à la fois à l’indice i et à l’élément L[i].

Teste tes connaissances

Teste tes connaissances sur Listes en Python avec 25 questions à choix multiples et corrections détaillées.

1. Quelle propriété caractérise une liste en Python par rapport à d’autres structures de données ?

2. Comment écrire correctement une liste en Python pour y placer des éléments séparés par des virgules ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Listes en Python avec 46 flashcards interactives.

Qu'est-ce qu'une liste ?

Une séquence d'objets.

Comment s'écrit une liste ?

Entre crochets, avec des virgules entre les éléments.

Par quoi chaque élément d'une liste est-il repéré ?

Par un indice entier.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches