Revision sheet: Introduction aux Listes en Python

Plan du Cours

  1. Listes en Python
  2. Indexation et slicing
  3. Listes imbriquées et matrices
  4. Fonctions et méthodes listes
  5. Copie de listes
  6. Tuples immuables
  7. Générateur range

1. Listes en Python

Notions clés & Définitions

Liste : AUTEUR (aucune date) : une suite d’objets, rangĂ©s dans un certain ordre, encadrĂ©e par des crochets. Elle permet de stocker plusieurs Ă©lĂ©ments de maniĂšre sĂ©quencĂ©e.

Objet hĂ©tĂ©rogĂšne : AUTEUR (aucune date) : un objet pouvant appartenir Ă  diffĂ©rents types, prĂ©sents dans une mĂȘme liste. La liste n’est pas limitĂ©e Ă  un seul type d’objet.

Crochets : AUTEUR (aucune date) : symboles [ et ] qui encadrent une liste, délimitant le début et la fin de la séquence.

SĂ©quence ordonnĂ©e : AUTEUR (aucune date) : caractĂ©ristique d’une liste oĂč chaque Ă©lĂ©ment possĂšde une position prĂ©cise, dĂ©terminĂ©e par son indice.

ÉlĂ©ment sĂ©parĂ© par virgule : AUTEUR (aucune date) : chaque objet dans une liste est sĂ©parĂ© par une virgule, permettant de distinguer les diffĂ©rents Ă©lĂ©ments.

Points essentiels

Une liste est une suite d’objets, rangĂ©s dans un certain ordre, encadrĂ©e par des crochets. Chaque objet est sĂ©parĂ© par une virgule. La liste peut contenir des objets de types diffĂ©rents, ce qui signifie qu’elle n’est pas homogĂšne. Il est Ă©galement possible d’insĂ©rer une liste Ă  l’intĂ©rieur d’une autre liste, crĂ©ant ainsi des listes imbriquĂ©es.

La manipulation fondamentale consiste Ă  extraire ou modifier un Ă©lĂ©ment de la liste. La syntaxe pour cela est ListName[index], oĂč l’indice commence Ă  0. Si l’indice dĂ©passe la taille de la liste, Python renvoie une erreur. La sous-liste peut ĂȘtre extraite en utilisant la syntaxe ListName[i:j], avec i comme indice de dĂ©but (inclus) et j comme indice de fin (exclu). On peut aussi prĂ©ciser un pas k avec ListName[i:j:k]. Lorsqu’on utilise des tranches, les dĂ©passements d’indices sont permis et ne provoquent pas d’erreur.

À retenir

Les listes en Python sont des sĂ©quences ordonnĂ©es et hĂ©tĂ©rogĂšnes, encadrĂ©es par des crochets, permettant une manipulation flexible des objets, y compris la crĂ©ation de listes imbriquĂ©es et l’extraction de sous-listes par slicing.

2. Indexation et slicing

Notions clés & Définitions

Indexation : L’indexation consiste Ă  accĂ©der Ă  un Ă©lĂ©ment prĂ©cis d’une liste en utilisant sa position. En Python, chaque Ă©lĂ©ment d’une liste est identifiĂ© par un indice, qui indique sa position dans la liste.

Indice zĂ©ro-based : En Python, la numĂ©rotation des Ă©lĂ©ments d’une liste commence Ă  0. Le premier Ă©lĂ©ment se trouve Ă  l’indice 0, le second Ă  l’indice 1, etc. Cela permet une manipulation cohĂ©rente et efficace des listes.

Slicing : Le slicing est une opĂ©ration permettant d’extraire une sous-liste Ă  partir d’une liste initiale, en spĂ©cifiant un indice de dĂ©but, un indice de fin et Ă©ventuellement un pas. La syntaxe est ListName[i:j:k], oĂč i est l’indice de dĂ©part (inclus), j l’indice de fin (exclu), et k le pas.

Sous-liste : La sous-liste est le rĂ©sultat du slicing, c’est une nouvelle liste contenant une sĂ©lection d’élĂ©ments de la liste d’origine, selon les indices et le pas spĂ©cifiĂ©s.

Pas dans slicing : Le pas (k) dans le slicing dĂ©termine la frĂ©quence Ă  laquelle les Ă©lĂ©ments sont sĂ©lectionnĂ©s. Par exemple, k=2 sĂ©lectionne tous les deux Ă©lĂ©ments. Si k n’est pas prĂ©cisĂ©, il vaut 1 par dĂ©faut.

Points essentiels

  • Les indices des listes commencent Ă  0 en Python. Cela signifie que le premier Ă©lĂ©ment d’une liste est accessible via l’indice 0, le second via l’indice 1, etc.
  • La syntaxe ListName[index] permet d’accĂ©der Ă  un Ă©lĂ©ment prĂ©cis ou de le modifier directement.
  • Le slicing ListName[i:j:k] extrait une sous-liste allant de l’indice i (inclu) Ă  l’indice j (exclu), en sautant k Ă©lĂ©ments selon le pas. Par exemple, ListName[1:4:2] sĂ©lectionne les Ă©lĂ©ments aux indices 1 et 3.
  • Lorsqu’on utilise des tranches (slicing), les dĂ©passements d’indices ne provoquent pas d’erreur. Si i ou j dĂ©passent la taille de la liste, Python ajuste automatiquement la plage sans erreur.

À retenir

MaĂźtriser l’accĂšs aux Ă©lĂ©ments et sous-ensembles d’une liste grĂące Ă  l’indexation et au slicing permet une manipulation prĂ©cise et efficace des donnĂ©es, mĂȘme en cas de dĂ©passement d’indices.

3. Listes imbriquées et matrices

Notions clés & Définitions

  • Liste imbriquĂ©e : Structure composĂ©e de listes Ă  l’intĂ©rieur d’autres listes, permettant de reprĂ©senter des donnĂ©es bidimensionnelles ou plus complexes. AUCUN auteur ou dĂ©finition spĂ©cifique n’est fourni dans le contenu source.
  • Matrice : ReprĂ©sentation d’un tableau Ă  deux dimensions sous forme d’une liste de listes, oĂč chaque sous-liste correspond Ă  une ligne de la matrice. AUCUN auteur ou dĂ©finition spĂ©cifique n’est fourni dans le contenu source.
  • len() pour dimensions : Fonction qui retourne le nombre d’élĂ©ments dans une liste ou sous-liste. AUCUN auteur ou dĂ©finition spĂ©cifique n’est fourni dans le contenu source.
  • Nombre de lignes : DonnĂ©e par len(A), oĂč A est une matrice, correspondant au nombre de sous-listes (lignes). AUCUN auteur ou dĂ©finition spĂ©cifique n’est fourni dans le contenu source.
  • Nombre de colonnes : DonnĂ©e par len(A[0]), correspondant au nombre d’élĂ©ments dans la premiĂšre sous-liste (colonnes). AUCUN auteur ou dĂ©finition spĂ©cifique n’est fourni dans le contenu source.

Points essentiels

  • Une matrice est reprĂ©sentĂ©e par une liste de listes (listes imbriquĂ©es). Chaque sous-liste reprĂ©sente une ligne de la matrice, facilitant la manipulation bidimensionnelle.
  • len(A) donne le nombre de lignes d’une matrice A, c’est-Ă -dire le nombre de sous-listes qu’elle contient.
  • len(A[0]) donne le nombre de colonnes de la matrice A, c’est-Ă -dire le nombre d’élĂ©ments dans la premiĂšre sous-liste.

À retenir

Une matrice peut ĂȘtre visualisĂ©e comme une liste imbriquĂ©e, oĂč len() permet d’obtenir ses dimensions : le nombre de lignes avec len(A) et le nombre de colonnes avec len(A[0]).

4. Fonctions et méthodes listes

Notions clés & Définitions

  • OpĂ©rations in et not in :

  • AUTEUR : voir section 1

  • Fonctions sum, len, max, min, sorted, reversed :
    AUTEUR (date) :

    • sum(a) calcule la somme des Ă©lĂ©ments numĂ©riques de la liste a.
    • len(a) donne le nombre d’élĂ©ments dans a.
    • max(a) retourne l’élĂ©ment le plus grand.
    • min(a) retourne l’élĂ©ment le plus petit.
    • sorted(a) trie la liste a et retourne une nouvelle liste triĂ©e, sans modifier a.
    • reversed(a) retourne un itĂ©rateur qui parcourt la liste a dans l’ordre inverse.
  • MĂ©thodes append, extend, insert, remove, pop, index, count, sort, reverse :
    AUTEUR (date) :

    • a.append(x) ajoute l’élĂ©ment x en fin de liste a.
    • a.extend(b) concatĂšne la liste b Ă  a en ajoutant ses Ă©lĂ©ments.
    • a.insert(i, x) insĂšre x Ă  la position i dans a.
    • a.remove(x) supprime la premiĂšre occurrence de x dans a.
    • a.pop() retire et retourne le dernier Ă©lĂ©ment de a.
    • a.index(x) retourne la position de la premiĂšre occurrence de x dans a.
    • a.count(x) compte le nombre d’occurrences de x dans a.
    • a.sort() trie la liste a en place, avec options key et reverse.
    • a.reverse() inverse l’ordre des Ă©lĂ©ments de a.
  • OpĂ©rations + et * sur listes :
    AUTEUR (date) :

    • a + b concatĂšne deux listes a et b pour produire une nouvelle liste.
    • a * n rĂ©pĂšte la liste a n fois, crĂ©ant une nouvelle liste.

Points essentiels

  • La vĂ©rification de la prĂ©sence d’un Ă©lĂ©ment x dans une liste a s’effectue avec x in a ; si x est dans a, l’opĂ©ration retourne True, sinon False. La nĂ©gation not in teste l’absence de x dans a.
  • La fonction sum(a) calcule la somme des Ă©lĂ©ments numĂ©riques de la liste a.
  • La mĂ©thode a.append(x) permet d’ajouter efficacement un Ă©lĂ©ment x Ă  la fin de la liste a.
  • La mĂ©thode a.sort() trie la liste en place, avec la possibilitĂ© d’utiliser des options key pour prĂ©ciser le critĂšre de tri et reverse pour inverser l’ordre.
  • Les opĂ©rations + et * permettent respectivement de concatĂ©ner deux listes et de rĂ©pĂ©ter une liste un certain nombre de fois, facilitant la manipulation et la crĂ©ation de listes complexes.

À retenir

Exploiter pleinement les fonctions, méthodes et opérations sur listes permet de manipuler efficacement ces structures, en réalisant des tris, des recherches, des ajouts ou des répétitions de maniÚre concise et performante.

5. Copie de listes

Notions clés & Définitions

RĂ©fĂ©rence de liste : La rĂ©fĂ©rence d’une liste dĂ©signe le lien ou l’adresse mĂ©moire pointant vers cette liste. Elle permet d’accĂ©der ou de modifier la liste sans en crĂ©er une nouvelle.

Copie superficielle : La copie superficielle (shallow copy) d’une liste crĂ©e une nouvelle liste, mais ne duplique pas les objets imbriquĂ©s. Elle copie uniquement la structure de la liste principale, tandis que les Ă©lĂ©ments imbriquĂ©s restent liĂ©s Ă  l’original.

Copie profonde (deepcopy) : La deepcopy crĂ©e une copie indĂ©pendante de toute la structure de la liste, y compris tous ses objets imbriquĂ©s. Elle assure qu’aucun lien ne subsiste entre la liste originale et la copie.

Alias de liste : Un alias est une autre rĂ©fĂ©rence pointant vers la mĂȘme liste. Modifier l’un affecte l’autre, car ils dĂ©signent la mĂȘme structure mĂ©moire.

Points essentiels

  • L’affectation b = a crĂ©e une rĂ©fĂ©rence, pas une copie indĂ©pendante. Ainsi, b et a dĂ©signent la mĂȘme liste en mĂ©moire.
  • Modifier b modifie aussi a si b est une rĂ©fĂ©rence Ă  a. Toute modification sur l’un impacte l’autre, car ils sont des alias.
  • deepcopy crĂ©e une copie indĂ©pendante d’une liste imbriquĂ©e. Elle duplique tous les niveaux de la structure, Ă©vitant ainsi tout effet de bord lors de modifications ultĂ©rieures.
  • Une liste fonctionne comme un carnet d’adresses des objets qu’elle contient. Elle rĂ©fĂ©rence chaque objet, mais ne contient pas nĂ©cessairement une copie de ces objets.

À retenir

Différencier clairement référence et copie est essentiel pour éviter les effets de bord lors de la manipulation des listes. La copie profonde garantit une indépendance totale, contrairement à la simple référence ou copie superficielle.

6. Tuples immuables

Notions clés & Définitions

Tuple : Un tuple est une sĂ©quence ordonnĂ©e d’objets encadrĂ©e par des parenthĂšses. Il permet de stocker plusieurs valeurs dans une seule variable, tout en conservant leur ordre.

ImmuabilitĂ© : La propriĂ©tĂ© selon laquelle un objet ne peut pas ĂȘtre modifiĂ© aprĂšs sa crĂ©ation. Dans le cas du tuple, cela signifie que ses Ă©lĂ©ments ne peuvent pas ĂȘtre changĂ©s ou supprimĂ©s une fois le tuple créé.

ParenthÚses : Les parenthÚses sont utilisées pour délimiter un tuple, différenciant sa syntaxe de celle des listes (qui utilisent des crochets). La présence de parenthÚses indique que la structure est un tuple.

Hétérogénéité : Un tuple peut contenir des objets de types différents. Par exemple, un tuple peut contenir un entier, une chaßne de caractÚres et un autre tuple.

  • SĂ©quence ordonnĂ©e : voir section 1

Points essentiels

  • Un tuple est une sĂ©quence ordonnĂ©e d’objets encadrĂ©e par des parenthĂšses. La syntaxe ressemble Ă  celle des listes, mais utilise des parenthĂšses pour dĂ©limiter le tuple.
  • Les tuples ne peuvent pas ĂȘtre modifiĂ©s aprĂšs crĂ©ation (immuables). Cela garantit l’intĂ©gritĂ© des donnĂ©es stockĂ©es.
  • Un tuple peut contenir des objets de types diffĂ©rents, ce qui offre une grande flexibilitĂ© dans la gestion de donnĂ©es hĂ©tĂ©rogĂšnes.
  • La syntaxe est similaire Ă  celle des listes, mais la diffĂ©rence majeure rĂ©side dans l’utilisation des parenthĂšses pour dĂ©finir un tuple.

À retenir

Les tuples sont des sĂ©quences immuables qui garantissent l’intĂ©gritĂ© des donnĂ©es en empĂȘchant toute modification aprĂšs leur crĂ©ation, tout en permettant de stocker des objets hĂ©tĂ©rogĂšnes dans un ordre prĂ©cis.

7. Générateur range

Notions clés & Définitions

range | | Aucune définition spécifique fournie dans le contenu source.

Itérateur | | Aucune définition spécifique fournie dans le contenu source.

Génération paresseuse | | Aucune définition spécifique fournie dans le contenu source.

SĂ©quence d’entiers | | Aucune dĂ©finition spĂ©cifique fournie dans le contenu source.

Points essentiels

  • La fonction range crĂ©e un itĂ©rateur qui gĂ©nĂšre des entiers Ă  la demande, sans stocker toute la sĂ©quence en mĂ©moire.
  • Elle est plus efficace en mĂ©moire que la crĂ©ation d’une liste d’entiers, car elle ne conserve pas tous les Ă©lĂ©ments simultanĂ©ment.
  • range peut ĂȘtre utilisĂ©e dans des boucles pour parcourir des indices ou des valeurs entiĂšres, facilitant la gestion de sĂ©quences d’entiers sans surcharge mĂ©moire.

À retenir

Utiliser range permet de gĂ©nĂ©rer efficacement des sĂ©quences d’entiers sans surcharge mĂ©moire, en produisant les valeurs Ă  la demande lors de leur utilisation dans des boucles.

RepĂšres chronologiques

(aucune date explicite dans le contenu fourni, cette section est omise)

Tableaux de SynthĂšse

ThÚmeNotions clésDéfinition / FonctionAuteur / Source
Listes en PythonListeSuite d’objets rangĂ©s dans un certain ordre, encadrĂ©e par des crochetsAuteur : non spĂ©cifiĂ©
IndexationIndex zéro-basedAccÚs à un élément via son indice, débutant à 0Auteur : non spécifié
SlicingListName[i:j:k]Extraction d’une sous-liste avec dĂ©but, fin et pasAuteur : non spĂ©cifiĂ©
Listes imbriquéesMatriceListe de listes représentant une structure bidimensionnelleAuteur : non spécifié
Fonctions listsum, len, max, min, sorted, reversedFonctions pour opérations numériques et tri sur listesAuteur : non spécifié
Méthodes listesappend, extend, insert, remove, pop, index, count, sort, reverseMéthodes pour manipuler et ordonner les listesAuteur : non spécifié
Opérations + et *Concatenation et répétitionCréation de nouvelles listes par addition ou multiplicationAuteur : non spécifié

PiÚges & Confusions Fréquentes

  1. Confondre l’indice 0 avec l’indice 1 lors de l’accĂšs aux Ă©lĂ©ments.
  2. Oublier que la syntaxe slicing n’engendre pas d’erreur mĂȘme si les indices dĂ©passent la taille de la liste.
  3. Utiliser une syntaxe incorrecte pour le slicing (ex: oublier le pas ou mal positionner les deux points).
  4. Confondre liste imbriquée et matrice sans distinguer leur structure (liste de listes).
  5. Modifier une liste avec une méthode qui change la liste en place (ex: sort()) sans en faire attention.
  6. Tenter d’accĂ©der Ă  un indice hors limite sans utiliser de slicing.
  7. Confondre concaténation (+) et répétition (*), ou mal utiliser ces opérations.

Checklist Examen

  1. ConnaĂźtre la dĂ©finition d’une liste selon l’auteur (suite d’objets rangĂ©s dans un ordre).
  2. MaĂźtriser la syntaxe pour accĂ©der Ă  un Ă©lĂ©ment via l’indice [index].
  3. Savoir utiliser le slicing avec ListName[i:j:k] et comprendre le comportement en cas de dĂ©passement d’indices.
  4. Identifier une liste imbriquĂ©e comme une liste contenant d’autres listes.
  5. Connaßtre la différence entre len() pour dimensions et la manipulation des listes.
  6. Savoir créer une matrice sous forme de liste de listes et accéder à ses éléments.
  7. Maütriser l’utilisation des fonctions sum(), max(), min(), sorted() et reversed().
  8. Connaßtre les méthodes append(), extend(), insert(), remove(), pop(), index(), count(), sort() et reverse().
  9. Comprendre l’effet des opĂ©rations + (concatĂ©nation) et * (rĂ©pĂ©tition) sur les listes.
  10. Savoir vérifier si un élément x appartient à une liste a avec x in a.
  11. Être capable d’utiliser a.sort() avec des options key et reverse.
  12. Connaßtre que la manipulation des listes est flexible grùce aux méthodes et opérations disponibles.

Test your knowledge

Test your knowledge on Introduction aux Listes en Python with 8 multiple-choice questions with detailed corrections.

1. Comment appliquer la méthode append pour ajouter un nouvel élément à une liste existante en Python ?

2. Quelle méthode en Python permet d'ajouter un nouvel élément à la fin d'une liste existante ?

Take the quiz →

Review with flashcards

Memorize the key concepts of Introduction aux Listes en Python with 9 interactive flashcards.

Liste — dĂ©finition ?

Suite d’objets rangĂ©s dans un ordre, encadrĂ©e par des crochets.

Liste — dĂ©finition?

Suite d’objets, ordre, crochets.

Indexation — rîle ?

AccĂ©der Ă  un Ă©lĂ©ment prĂ©cis d’une liste par sa position.

See flashcards →

Similar courses

Create your own revision sheets

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

Sheet generator