Revision sheet: 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].

Test your knowledge

Test your knowledge on Listes en Python with 25 multiple-choice questions with detailed corrections.

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 ?

Take the quiz →

Review with flashcards

Memorize the key concepts of Listes en Python with 46 interactive flashcards.

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.

See flashcards →

Similar courses

Create your own revision sheets

Import your course and AI generates sheets, quizzes and flashcards in 30 seconds.

Sheet generator