Scheda di revisione: Maîtrise des opérations sur tableaux en Python

📋 Plan du Cours

  1. Définition et interface des tableaux en informatique
  2. Création et initialisation des tableaux en Python
  3. Accès et modification des éléments dans un tableau
  4. Ajout d’éléments dans un tableau : append, extend et concaténation
  5. Parcours des tableaux par index et par itération
  6. Méthodes courantes sur les tableaux : tri, inversion, suppression, recherche
  7. Compréhensions de listes : syntaxe, création et filtrage
  8. Exercices d’application sur l’accès, la modification et l’ajout dans les tableaux
  9. Exercices d’application sur les parcours et les méthodes des tableaux
  10. Exercices d’application sur les compréhensions de listes simples et filtrées
  11. Exercices avancés sur compréhensions de listes avec conditions multiples
  12. Exercices spécifiques : FizzBuzz et années bissextiles en compréhension de listes

📖 1. Définition et interface des tableaux en informatique

🔑 Notions clés & Définitions

  • Tableau : Structure de données représentant une séquence finie d’éléments auxquels on peut accéder efficacement par leur position, nommée indice, dans la séquence.

📝 Points essentiels

  • L’interface se distingue de l’implantation, qui correspond à la mise en œuvre pratique dans un langage donné.
  • En informatique, un tableau est une structure de données représentant une séquence finie d’éléments.
  • De ce fait, il y a une confusion entre les listes, telles qu’elles sont définies en informatique (nous verrons cette définition plus tard dans l’année) et le type list de Python.
  • Elle se distingue de son implantation qui désigne la mise en oeuvre pratique dans un langage donné.

💡 À retenir

Un tableau est d’abord une structure de données abstraite : une séquence finie d’éléments accessible efficacement par indice. En Python, cette structure est implémentée par le type list, ce qui impose de distinguer interface et implantation.

📖 2. Création et initialisation des tableaux en Python

🔑 Notions clés & Définitions

  • Tableau : structure de données écrite entre crochets [ ... ], avec des éléments séparés par des virgules.
  • 1 mon_tableau : nom de variable utilisé dans les exemples pour stocker un tableau.
  • 3 mon_tableau : nom de variable utilisé dans les exemples pour stocker un tableau.
  • tableau vide : tableau créé sans élément, avec [].
  • tableau non vide : tableau initialisé directement avec des valeurs littérales.

📝 Points essentiels

  • En Python, un tableau s’écrit entre crochets [ ... ] avec des éléments séparés par des virgules.
  • Un tableau vide se crée avec [].
  • Un tableau non vide peut être initialisé directement avec des valeurs littérales.
  • Un tableau peut être initialisé avec plusieurs copies d’une même valeur grâce à l’expression [valeur] * n.
  • L’initialisation par multiplication produit une séquence répétée de même longueur que le facteur n.

💡 À retenir

Savoir produire rapidement un tableau selon trois formes de départ : vide, explicite ou répétée.
La forme choisie dépend du besoin : aucun élément, des valeurs déjà connues, ou une même valeur répétée plusieurs fois.

📖 3. Accès et modification des éléments dans un tableau

🔑 Notions clés & Définitions

  • Tableau : Exemple de tableau contenant des prénoms comme Alan, Ada, Grace et Ian, utilisé pour illustrer l’accès par index.
  • 1 alphabet : Exercice 2 Après l’affectation suivante : 1 alphabet = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 2 'M', 'N','O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ] Quelle instruction permet d’accéder à la lettre E ?

📝 Points essentiels

  • L’instruction d’accès à un élément se construit avec le nom du tableau suivi de l’index entre crochets.
  • L’indexation commence à 0 pour le premier élément.
  • Pour atteindre le dernier élément sans index négatif, il faut utiliser len(tableau) - 1.
  • L’écriture notes[-1] permet d’accéder directement au dernier élément.
  • La modification d’un élément se fait par affectation sur la case visée, sans recréer tout le tableau.
  • Tableau : [”Alan”︸ ︷︷ ︸ 0 , ”Ada”︸ ︷︷ ︸ 1 , ”Grace”︸ ︷︷ ︸ 2 , ”Ian”︸ ︷︷ ︸ 3 ] L’instruction pour accéder à un élément est construite à partir du nom du tableau et de l’index (la position) de l’élément souhaité entre crochets.

💡 À retenir

L’instruction d’accès à un élément se construit avec le nom du tableau suivi de l’index entre crochets.

📖 4. Ajout d’éléments dans un tableau : append, extend et concaténation

🔑 Notions clés & Définitions

  • 1 tab : Exemple 1 >>> mon_tableau = ["Alan", "Ada", "Grace", "Ian"} 2 >>> mon_tableau[1]

📝 Points essentiels

  • La concaténation avec + permet de créer une troisième liste à partir de deux listes.
  • La concaténation ne modifie pas les listes d’origine.

💡 À retenir

Certaines opérations modifient le tableau directement, comme append. La concaténation, elle, crée une troisième liste sans modifier les listes d’origine.

📖 5. Parcours des tableaux par index et par itération

🔑 Notions clés & Définitions

  • Range(len(...)) : Itérable obtenu en appliquant range à la longueur d’une liste, ce qui fournit tous les indices valides de 0 à len(tableau) - 1.
  • Index des éléments : Position numérique d’un élément dans une liste, utilisée pour accéder à la valeur correspondante avec la notation tableau[index].

📝 Points essentiels

  • Dans le parcours par index, range(len(mon_tableau)) est évalué à partir de la longueur de la liste et produit les valeurs 0, 1, 2, 3, 4 et 5 pour une liste de longueur 6.
  • Dans l’exemple de parcours direct, la variable elmt prend successivement les valeurs contenues dans mon_tableau : "Alan", "Ada", "Grace", "Ian", "Charles" et "Guido".
  • Le nom de la variable créée dans la boucle for est indiqué comme devant être choisi de façon explicite pour refléter son rôle.

💡 À retenir

Dans le parcours par index, range(len(mon_tableau)) est évalué à partir de la longueur de la liste et produit les valeurs 0, 1, 2, 3, 4 et 5 pour une liste de longueur 6.

📖 6. Méthodes courantes sur les tableaux : tri, inversion, suppression, recherche

🔑 Notions clés & Définitions

  • tableau_2 : liste utilisée comme second tableau dans des opérations sur des listes, par exemple pour être ajoutée à une autre liste par extension ou par concaténation.

📝 Points essentiels

  • Parcourir un tableau peut se faire de deux manières : à partir des index des éléments, ou par itération directe sur les éléments.
  • Pour parcourir à partir des index, on utilise len() pour obtenir le nombre d’éléments de la liste, puis range(len(...)) pour produire tous les index.
  • Dans l’exemple donné, mon_tableau = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"] a une longueur de 6 ; range(len(mon_tableau)) devient donc range(6), puis un itérable contenant 0, 1, 2, 3, 4, 5.
  • La variable index prend successivement toutes ces valeurs, ce qui permet d’accéder aux éléments avec mon_tableau[index].
  • L’ajout par extension avec extend permet d’ajouter les éléments d’une liste à une autre : avec mon_tableau.extend(tableau_2), la liste obtenue contient ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"].
  • L’ajout par concaténation permet aussi de créer une troisième liste à partir de deux listes : mon_tableau = tableau_1 + tableau_2 donne également ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"].
  • Avec append, si on ajoute une liste à une autre, la liste ajoutée est insérée comme un seul élément : tab1.append(tab2) transforme tab1 = [3,2,2] et tab2 = [1,5,1] en une liste affichée par print(tab1).

💡 À retenir

Pour savoir quelle méthode utiliser, repère l’objectif : parcourir une liste par index, ajouter des éléments par extension ou concaténation, ou insérer une liste entière comme un seul élément avec append. La bonne méthode dépend donc de l’action voulue sur la liste.

📖 7. Compréhensions de listes : syntaxe, création et filtrage

🔑 Notions clés & Définitions

  • Variable de contrôle : Variable qui parcourt successivement les éléments de l’itérable dans une compréhension de liste ; elle est appelée elmt dans la syntaxe donnée.
  • Expr for elmt : Partie d’une compréhension qui calcule la valeur placée dans la nouvelle liste à partir de l’expression expr, puis du parcours introduit par for elmt in iterable.

📝 Points essentiels

  • La syntaxe minimale d’une compréhension de liste est [expr for elmt in iterable].
  • Les crochets, les mots-clés for et in sont obligatoires dans une compréhension de liste.
  • L’élément iterable peut être une liste, un range ou une chaîne de caractères.
  • L’expression expr est une expression qui dépend en général de elmt, mais pas forcément, et dont la valeur est placée dans tab.
  • Une condition ajoutée en fin de compréhension permet de ne garder que certains éléments de la liste initiale.
  • Les compréhensions de listes
  • Syntaxe de base Un tableau par compréhension (ou liste en intension) est une expression qui permet de géné‐ rer un tableau de manière très compacte.
  • • Modification d’un élément On peut modifier les éléments de la liste en affectant une nouvelle valeurs.

💡 À retenir

La syntaxe minimale d’une compréhension de liste est [expr for elmt in iterable].

📖 8. Exercices d’application sur l’accès, la modification et l’ajout dans les tableaux

🔑 Notions clés & Définitions

  • On peut : Formulation d’introduction qui présente trois opérations possibles sur un tableau donné : ajouter un élément, étendre un tableau à partir d’un second tableau, ou concaténer deux tableaux pour en former un troisième.

📝 Points essentiels

  • Les exercices d’ajout distinguent clairement l’effet de extend et celui de +.
  • •• Ajouter un élément Pour ajouter un seul élément, on utilise la méthode append.

💡 À retenir

Il faut s’entraîner à simuler l’état d’un tableau après des opérations locales successives. La section insiste sur la différence entre append, extend et la concaténation de deux tableaux.

📖 9. Exercices d’application sur les parcours et les méthodes des tableaux

🔑 Notions clés & Définitions

  • tab : tableau dont le contenu peut être modifié par affectation d’un élément à un indice précis, comme dans les scripts où une case est remplacée par une nouvelle valeur.

📝 Points essentiels

  • Les exercices de parcours demandent de suivre la valeur prise par la variable de boucle à chaque tour.
  • Les exercices de parcours indexé obligent à relier chaque indice à l’élément correspondant.
  • Les exercices sur les méthodes demandent de tenir compte de l’ordre d’exécution des instructions.
  • Les exercices sur les méthodes exigent de distinguer le tableau modifié du résultat renvoyé.
  • Les exercices peuvent combiner transformation des éléments et lecture du résultat final.

💡 À retenir

Lire un script comme une suite d’effets cumulés sur une même liste. Il faut suivre pas à pas les modifications, puis vérifier le contenu final obtenu après toutes les instructions.

📖 10. Exercices d’application sur les compréhensions de listes simples et filtrées

🔑 Notions clés & Définitions

  • Programme qui remplace chaque lettre : Programme qui parcourt une liste de caractères et produit une liste où chaque lettre est remplacée par son code ASCII, avec l’instruction ord pour obtenir ce code.

📝 Points essentiels

  • On pourra utiliser l’instruction ord pour obtenir le code ASCII d’un caractère .
  • Les exercices simples demandent de calculer la liste produite par une expression appliquée à chaque élément.

💡 À retenir

Passer d’une liste source à une liste résultat en appliquant une transformation ou un test. Les exercices portent aussi sur la complétion d’une compréhension de liste et sur l’usage de ord pour transformer des caractères en codes ASCII.

📖 11. Exercices avancés sur compréhensions de listes avec conditions multiples

🔑 Notions clés & Définitions

  • entiers inférieurs : liste d’entiers strictement plus petits qu’une borne donnée ; dans l’exemple, il s’agit des entiers inférieurs ou égaux à 20, puis des entiers inférieurs à 100 selon l’exercice.

📝 Points essentiels

  • Les exercices avancés combinent plusieurs critères dans une même condition de compréhension : il faut lire l’ensemble des tests comme une seule sélection appliquée aux éléments de la liste.
  • Les exercices peuvent demander d’exclure simultanément plusieurs cas à l’aide de conditions combinées : on garde alors seulement les éléments qui vérifient la sélection tout en rejetant les cas interdits.
  • Les exercices de type FizzBuzz imposent une sélection fondée sur des multiples avec exclusion d’un cas commun : il faut retenir les entiers inférieurs à 100 qui sont multiples de 5 ou de 7, mais pas de 5 et 7 à la fois.
  • Les exercices avancés sur les années bissextiles exigent de traduire une règle à deux branches en condition logique : la règle doit être transformée en test booléen unique.
  • Les conditions multiples doivent être lues comme un seul filtre global sur la liste générée : la compréhension parcourt la liste source et ne conserve que les éléments qui satisfont simultanément la condition demandée.

💡 À retenir

Transformer une règle composée en une condition booléenne unique permet de construire correctement la liste voulue. Dans ces exercices, il faut toujours raisonner comme si toutes les conditions formaient un seul filtre appliqué à la liste générée.

📖 12. Exercices spécifiques : FizzBuzz et années bissextiles en compréhension de listes

🔑 Notions clés & Définitions

  • Compréhension la liste fizzbuzz : Liste construite par compréhension pour garder les entiers inférieurs à 100 qui sont multiples de 5 ou de 7, tout en excluant les nombres multiples des deux à la fois.
  • FizzBuzz Décrire en compréhension : Exercice consistant à écrire une compréhension de liste pour sélectionner les entiers inférieurs à 100 multiples de 5 ou de 7, mais pas de 5 et 7 simultanément.
  • Compréhension la liste des années : Liste construite par compréhension pour produire les années bissextiles de 1600 à 2022.
  • Calendrier grégorien : Exercice 14 Bissextile Depuis l’ajustement du calendrier grégorien, l’année n’est bissextile (elle aura 366 jours) que dans l’un des deux cas suivants : — si l’année est divisible par 4 et non divisible par 100 ;

📝 Points essentiels

  • Une année bissextile a 366 jours.
  • Le code demandé pour les multiples de 5 doit construire une liste d’entiers inférieurs ou égaux à 100.
  • Exercice 12 Multiple Compléter le code ci‐dessous pour que la liste L contienne les entiers inférieurs ou égaux à 100 qui sont des multiples 5.

💡 À retenir

Une année bissextile a 366 jours.

🧩 Compléments de couverture

  1. L’interface d’un tableau comprend aussi la mesure de sa taille, c’est-à-dire le nombre d’entrées qu’il contient.
  2. La méthode append modifie sur place la liste qui l’appelle.
  3. La méthode extend sert à ajouter les éléments d’une autre liste et modifie aussi la liste appelante sur place.
  4. La méthode sort classe les éléments de la liste, puis reverse les inverse.
  5. Exercices Exercice 1 On considère le code suivant : 1 tab = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"] Que vaut tab[3] ?
  6. Exercices Exercice 3 On considère le script suivant : 1 tab = [2, 8, 9, 2] 2 tab[2] = 4 Quelle est la valeur de tab à la fin de son exécution ?
  7. Exercice 4 On considère le script suivant : 1 tab = [2, 8, 9, 2] 2 tab[2] = tab[2] + 5 Quelle est la valeur de tab à la fin de son exécution ?
  8. Exercice 5 On considère le script suivant : 1 tab = [2, 8, 9, 2] 2 tab[3] = tab[1] + 5 3 tab[2] = tab[3] + 5 Quelle est la valeur de tab à la fin de son exécution ?
  9. Exercice 7 On considère le code suivant : 1 def feed(t): 2 for i in range(len(t)): 3 t[i] = t[i] + i 4 return t Que renvoie feed([12, 24, 32]) ?
  10. On peut : — ajouter un élement, — étendre un tableau à partir d’un second tableaux, — concatener 2 tableaux pour en former un troisième.
  11. 1 tableau_1 = ["Alan", "Ada", "Grace", "Ian"] 2 tableau_2 = ["Charles", "Guido"] 3 mon_tableau = tableau_1 + tableau_2 4 print(mon_tableau) 5 ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"].
  12. Exemple 1 mon_tableau = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"] 2 for index in range(len(mon_tableau)): 3 print(mon_tableau[index]) Dans cet exemple, la longueur de mon_tableau est 6.
  13. Exercice 11 Que va contenir la variable mon_tab après l’exécution de ce programme.
  14. Exercices Exercice 6 Qu’affiche le programme python suivant ?
  15. 1 entiers = [5, 8, 12, 9] 2 L = [ elmt**2 for elmt in entiers] .
  16. Exemple On se donne la liste des entiers inférieurs ou égaux à 20 et on veut filtrer unique‐ ment ceux qui sont pairs.
  17. Exercice 13 FizzBuzz Décrire en compréhension la liste fizzbuzz des entiers inférieurs à 100 qui sont multiples de 5 ou de 7 mais pas de 5 et 7.
  18. L’instruction range(len(mon_tableau)) va être successivement évaluée par range(6) puis par un itérable de longueur 6 qui contiendra les valeurs 0, 1, 2, 3, 4 et 5.

📊 Tableaux de Synthèse

Tableaux en Python : opérations et effets

OpérationEffet principalModifie l’original ?
appendajoute un élément à la listeoui
extendajoute les éléments d’une autre listeoui
concaténation avec +crée une troisième liste à partir de deux listesnon
sort / reversetrie puis inverse les élémentsoui

Compréhensions de listes : formes et usages

FormeButExemple de contenu
simpleappliquer une expression à chaque élémentcodes ASCII avec ord
filtréegarder seulement certains élémentsnombres pairs
avec conditions multiplescombiner plusieurs conditionsFizzBuzz
spécifiquetraiter un cas particulierannées bissextiles

⚠️ Pièges & Confusions Fréquentes

  1. Confondre l’interface d’un tableau avec son implantation en Python : l’interface est abstraite, l’implantation correspond au type list.
  2. Oublier que l’indexation commence à 0 et non à 1.
  3. Utiliser len(tableau) au lieu de len(tableau) - 1 pour viser le dernier élément sans index négatif.
  4. Croire que append et extend ont le même effet : append ajoute un seul élément, extend ajoute les éléments d’une autre liste.
  5. Penser que la concaténation + modifie les listes d’origine alors qu’elle crée une troisième liste.
  6. Confondre parcours par index et parcours par itération directe sur les éléments.
  7. Oublier qu’une compréhension filtrée doit à la fois produire une valeur et tester une condition.

✅ Checklist Examen

  1. Définir un tableau comme une séquence finie d’éléments accessible par indice.
  2. Distinguer interface et implantation d’un tableau.
  3. Savoir créer un tableau vide avec [] et un tableau non vide avec des valeurs littérales.
  4. Reconnaître l’initialisation répétée avec [valeur] * n.
  5. Accéder à un élément avec nom_tableau[index].
  6. Utiliser -1 pour accéder au dernier élément.
  7. Modifier un élément par affectation sur l’indice visé.
  8. Distinguer append, extend et concaténation.
  9. Parcourir une liste avec range(len(...)) et avec une boucle directe.
  10. Comprendre la syntaxe d’une compréhension de listes simple et filtrée.
  11. Savoir appliquer ord dans une compréhension sur des caractères.
  12. Identifier les cas d’exercice sur FizzBuzz et les années bissextiles en compréhension de listes.

Metti alla prova le tue conoscenze

Metti alla prova le tue conoscenze su Maîtrise des opérations sur tableaux en Python con 12 domande a scelta multipla con correzioni dettagliate.

1. Quel est l’effet ou la conséquence de l’implantation d’un tableau dans un langage donné ?

2. Quel effet produit l’initialisation par multiplication d’un tableau en Python ?

Fai il quiz →

Ripassa con le flashcard

Memorizza i concetti chiave di Maîtrise des opérations sur tableaux en Python con 24 flashcard interattive.

Tableau — définition ?

Structure de données séquentielle d’éléments accessibles par indice.

Interface — rôle ?

Définir comment manipuler un tableau sans connaître son implantation.

Création tableau Python — syntaxe ?

Utiliser des crochets avec éléments séparés par des virgules.

Vedi le flashcard →

Similar courses

Crea le tue schede di revisione

Importa il tuo corso e l'AI genera schede, quiz e flashcard in 30 secondi.

Generatore di schede