Session du 09 septembre 2025 à 21h00
Structures de Données
TOSA & Certifications
Deviens membre Premium magic_button
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- check +100h de formations
- check +180 exercices de code
- check +100h de mentorats en rediffusion
- check 20 projets
- check Mentorats groupés hebdomadaires
- check Support individuel avec nos mentors
Tout comprendre sur les listes Python
On part à la découverte des listes : comment les créer, les trier, comment récupérer un élément spécifique et boucler sur une liste et plein d'autres opérations courantes.
00:00:00 :Donc, bonsoir, je pense que j'ai salué tout le monde. Comme je le disais, petite séancede mentorat, on reprend les bonnes habitudes. Pour cette session, j'ai choisi de revenir
00:00:19 :sur des choses un peu plus basiques. On va remonter un peu crescendo du tournoi de l'annéedernière. Après, pour ceux qui sont déjà avancés, je vous rassure, revoir un petit peu les basiques,
00:00:33 :c'est toujours bon. Comme je l'ai dit, la règle est simple, vous avez la moindre question ou quoi,vous n'hésitez surtout pas à m'interrompre, vous ouvrez votre micro et vous me posez votre question,il n'y a absolument aucun souci. Ok, c'est parti, je vais partager mon écran.
00:00:56 :Juste avant qu'on commence précisément, est-ce que vous êtes tous sur une planification TOSA ouvous êtes à peu près ici ? Non, je suis moins en TOSA en fait, je suis juste par curiosité,
00:01:26 :je suis en Breakdown. D'accord, pas de souci. Je ne suis pas en TOSA, c'est pour réviser aussi.Eh bien c'est bien, ça tombe bien, on fait des révisions ce soir. Bon, hop, j'écoute ma caméra,
00:01:44 :voilà. Alors, on est parti. J'ai peut-être mis un petit peu plus gros, ce serait peut-être unpetit peu plus suivant la taille de vos écrans. Bon, alors on va commencer ce soir par les
00:01:57 :listes. C'est un objet Python, je ne sais pas où vous en êtes tous au niveau par rapport à laprogrammation orientée objet, mais les listes c'est vraiment un objet. Alors si je fais ça
00:02:10 :normalement, je ne sais pas comment va se comporter mon... C'est bon. Ouais, on va faire ça.Donc, l'idée des listes c'est un objet dans lequel on va pouvoir stocker des valeurs. D'accord ? Donc
00:02:39 :comment on initie une liste ? On a tout bêtement comme ceci, on va l'appeler une liste, hop, égal,là par exemple on va prendre les noms qu'il propose, par exemple 1, 2, 3, 4, 5. Ok ? Ça,
00:02:52 :typiquement c'est une liste et dans chaque élément qui est dans la liste, c'est donc un objet. Doncc'est vraiment un conteneur dans lequel on met des objets. Donc là vous voyez la liste qui m'a
00:03:03 :créé, on n'a que les chiffres, mais la liste n'impose pas qu'il y ait absolument les mêmesvaleurs pour chaque élément. Ça pourrait être avoir une liste qui par exemple le 1 est un chiffre,
00:03:16 :le 2 l'avoir en chaîne de caractère, le 3 ça pourrait être... Allez, on va faire comme ça.Hop, on va rajouter celui-ci. Là, ça pourrait être une variable qui contient la valeur 3 et
00:03:36 :ainsi de suite. D'accord ? Donc la liste c'est vraiment un conteneur, on va dire un petit peusurtout, dans lequel vous pouvez avoir différentes valeurs. On peut également dans une liste mettre
00:03:53 :d'autres listes. Par exemple, ici, on pourrait très bien avoir... Excusez-moi, j'ai passé lajournée sur Windows, je rembourse sur mon Mac et je perds mes repères. Je ne sais plus comment
00:04:18 :je vais me cocher. On va faire simple pour ne pas perdre de temps. Donc voilà, ça pourraittrès bien avoir aussi une liste dans une liste. D'accord ? C'est vraiment un conteneur où on peut
00:04:50 :mettre toutes sortes d'objets pythons et les types de chaque objet ne doivent pas forcémentrester les mêmes. Pour ceux qui ont déjà fait du C, la liste, ça se rapproche du tableau. C'est
00:05:06 :à dire que, en fin de compte, quand j'imbrique une liste dans une liste, c'est comme si j'avaisune ligne, différentes lignes et différentes colonnes dans mon tableau. D'accord ? Gardez
00:05:20 :cette notion-là en tête, on va y revenir un petit peu plus tard, mais ça va avoir son importance.Donc, on parlait de la manière de créer une liste. Là, j'ai créé ma liste, j'ai mis mes valeurs.
00:05:32 :Maintenant, on peut aussi créer tout simplement une liste vide. Ma liste, je crois que j'ai mis 2,égal, hop, hop, hop. Excusez-moi pour cette petite, là. Ok ? Tout simplement comme ça,
00:06:02 :en mettant deux crochets, j'ai créé une liste. Donc, cet objet, il existe en pythons,c'est en tant que liste. On peut aussi créer une liste, mais ça je pense que vous avez vu plus
00:06:14 :ou moins avec d'autres variables, de cette manière-là. Voilà, égal liste. C'est-à-direqu'en fait, j'ai dit que ma liste est un objet liste, tout bêtement. D'accord ? Non, c'est pas
00:06:36 :un objet liste, c'est un objet classique, c'est mieux comme ça. Voilà. Donc, en fait, on peutvraiment créer une liste de différentes manières. On peut simplement la déclarer en mettant le type
00:06:48 :de classe OC, mettre des crochets vides, ou en tirer avec diverses listes. On va effacer tout ça,hop, hop, hop. On va juste garder notre première liste, là, j'aurais pas dû effacer le classique,
00:07:04 :tac, tac, tac, voilà. Comme ça, tout va bien. Ok. Alors maintenant, on a créé une liste.On a créé une liste, on a mis des objets dedans, maintenant, qu'est-ce qu'on en fait ? Alors,
00:07:28 :pour pouvoir afficher une liste, une des premières méthodes, tout simplement, c'est le print maliste. Donc, je vais déclencher ça, on va voir ce que ça donne. Clac. Ça lance le terminal,
00:07:43 :et effectivement, comme vous pouvez le voir, ça m'affiche bien ma liste, celle qu'elle a affichéelà. Donc là, on a bien le même comportement qu'avec une variable de tissu caractère,
00:07:50 :une variable de tissu essentiel. La petite nuance, c'est qu'une liste, en fait, on peutafficher chaque élément séparément. Donc, pour commencer, on pourrait tout simplement faire une
00:08:05 :boucle. On affiche l'élément, on garde, on lance, comme vous le voyez, un à un, on affiche leséléments. Déjà, je vais attirer votre attention sur un premier comportement qui se passe dans la
00:08:24 :liste. Est-ce que vous remarquez quelque chose de particulier lorsque j'imprime ma liste ouj'imprime chaque élément de la liste ? Je vous laisse observer deux minutes, regardez le code
00:08:37 :qui a été tapé, regardez ce qui est sorti dans le terminal. Personne ne remarque un truc qui pourraitêtre particulier. Je ne sais pas, la deuxième, la quatrième sur la liste, c'est 4,5 en fait.
00:09:01 :Oui, c'est une liste. Vous imprimez la liste telle qu'elle est. En fait, c'est sur la liste, c'est sur lavaleur 3. En fait, vous voyez que le 3, comme c'est une variable, au lieu de m'imprimer le nom de la
00:09:19 :variable, il est allé chercher directement la valeur. D'accord ? Donc, par exemple, ça, vouspourriez vous en servir. Par exemple, vous créez une liste. Allez, on va faire ça vite fait pour
00:09:36 :l'université. Les inputs, c'est bon pour tout le monde ou pas ? Alors, on va lancer ça. Alors,on va créer des variables. Allez, on va faire ça simple. Voilà. Input. Prénom. Et,
00:10:17 :âge. On pourrait mettre toutes ces variables dans une liste. Prénom, identité, égal. Alors,voilà. Print mon identité. On va laisser un print pour qu'on voie le truc de manière visuelle.
00:10:43 :Alors, c'est autre. On rigole pas. Voilà. Comme vous voyez, en partant de variable, j'ai créé uneliste qui contient tout ça. Ça veut dire que par la suite, je pourrais conserver cet objet de liste
00:11:07 :et venir le manipuler. Soit en extraire une partie, soit voilà. Mais ça me permet, par exemple,de stocker les valeurs de mes variables dans une liste. Donc, vous voyez, la liste est quand même
00:11:19 :un objet qui peut être intéressant car il peut être manipulé. On peut s'intéresser. Je vaisvous parler de sortir des valeurs. Maintenant, est-ce que vous savez ou vous vous rappelez
00:11:32 :comment je pourrais, par exemple, aller, on va rester sur la deuxième liste, juste ressortirmon nom de famille. Est-ce qu'il y a quelqu'un qui sait ? Non ? Pas loin Antoine. Alors,
00:11:58 :mon nom de famille, il est en deuxième. Donc, en fait, si je veux ressortir juste mon nom. Ah oui,c'est moi qui me suis trompé. Autant pour moi. My bad. Bien Antoine, c'est l'ordre qui s'est mal
00:12:11 :mis et c'est moi qui ai mal rempli. Autant pour moi. Effectivement, tu avais raison. Donc,pour ressortir un élément, le premier élément, je vais utiliser 0. Le tableau pilot, c'est mien,
00:12:32 :mais quand on fait des petits trucs comme ça, c'est gênant. Et là, je lance. Effectivement,il n'y a que la première valeur de ma liste. Je vais remplir correctement ce que c'est le
00:12:42 :formulaire pour que ça sorte bien. Il n'y a que le premier élément de ma liste. Alors,pour les listes, c'est valable pour beaucoup d'autres conteneurs qui sont similaires à laliste. Il y a des indices pour chaque valeur. Donc, le premier indice, c'est 0. Ensuite,
00:13:06 :1, 2 et ainsi de suite. Donc, les listes sont toujours numérotées à partir de 0. Ça,c'est invariable. Ensuite, est-ce que vous savez comment je ferais pour faire sortir,
00:13:19 :par exemple, uniquement l'âge ? Alors, oui. C'est, voilà, exactement. Alors,Antoine proposait d'abord 2 et après, moins 1. Alors, dans ce cas-là, si on sait que la
00:13:46 :valeur est vers la fin, ou tout à la fin, il vaut mieux utiliser le moins 1. Parce que si vouspartez toujours du principe, quand vous manipulez un objet, alors dans beaucoup de cas, la plupartdes cas même, vous saurez comment votre objet est défini puisque c'est vous qui écrivez votre
00:14:05 :programme. Et vous savez à l'avance que dans votre liste, vous allez avoir 1, 2, 3, 5, 6,10 éléments. Donc, vous pouvez assez facilement récupérer le titre. Par contre, si vous faites
00:14:20 :des programmes un peu plus complexes et dans lesquels vous allez récupérer des données quevous allez mettre à la volée dans une liste et que vous voulez récupérer le dernier élément,à ce moment-là, il vaut mieux utiliser le moins 1. Parce qu'en fonction de l'avancement de votre
00:14:33 :programme, vous n'êtes pas forcément au courant du nombre d'éléments à l'instant T qu'il y auradans votre liste. Par exemple, on va partir, je pense que vous avez tous plus ou moins vu cet
00:14:45 :exercice-là sur votre screen, avec le trier de fichiers. Le trier de fichiers va avoir une listede fichiers qui va être récupérée. Le problème, c'est que vous appliquez comme si vous alliez
00:14:58 :lui donner un dossier, et le programme va itérer dans ce dossier pour récupérer tous les fichiers.Avant d'avoir signé le dossier, vous ne savez pas forcément combien il y a de fichiers dans ledossier. D'accord ? Du coup, si vous voulez faire apparaître le dernier élément qui a été rentré
00:15:18 :dans le fichier, là, la meilleure solution, c'est forcément le moins 1. On va voir après,on peut savoir la longueur de la liste en cours de vol, mais le plus simple, c'est d'utiliser lemoins 1. Donc là, on fait la petite démonstration. Le moins 1, on lance. Après, je vais faire ça
00:15:40 :parce que c'est un peu fastidieux de renseigner à chaque fois. Et là, effectivement, il meressort l'âge. D'accord ? Je vous parlais à l'instant de connaître la longueur. Est-ce
00:15:57 :que vous connaissez la fonction qui permet de connaître la longueur de liste ?Exactement, c'est l'aigne. Donc là, si je mets l'aigne,là, j'ai dit que j'allais faire ça parce que l'aigne coûte.
00:16:27 :Le litub est très gentil avec moi, il me donne 30 ans. C'est sympa.Voilà. Donc là, si je fais ça, il va bien m'indiquer que la liste a une longueur de 3.
00:17:03 :D'accord ? Donc, ça, on pourrait l'utiliser. Par exemple, on dit, allez, je veux récupérer sansconnaître la longueur de ma liste, l'avant dernier élément, mais je ne veux pas utiliserles index négatifs. Alors, comment vous feriez ? Est-ce que quelqu'un a une idée ?
00:17:44 :Allez, je vais vous dire, c'est un petit peu mathématique, mais alors là,on récupère la longueur de la liste. Donc, on va l'appeler longueur de liste.
00:18:05 :Là, je fais une petite digression, mais au passage, ce que je suis en train de faire,c'est des pratiques qu'on appelle de clean code, de code propre. Vous remarquerez qu'à chaque fois
00:18:21 :que je nomme mes variables, je leur donne un nom très clair. Ça, essayez de prendre cettehabitude assez tôt. Alors, évitez les noms en anglais, forcément, parce que c'est de l'informatique,
00:18:40 :il faut être anglophone et absolument tout mettre en anglais. Oui, ça peut être bienquand on arrive dans un cadre très pro, mais au début, prenez l'habitude de mettre des noms devariables extrêmement clairs, surtout pour vous. Quand vous faites des programmes simples,
00:18:55 :même si vos variables sont, on va dire, nommées de manière un peu exotique, ce n'est pas supergrave puisque vous allez vous y retrouver. Les premiers codes que vous écriverez,
00:19:04 :que vous avez déjà écrits pour certains, vont rarement dépasser la centaine de lignes. Onarrive assez facilement à se retrouver dans la feuille. Dès que vous commencez à écrire des
00:19:20 :programmes un peu plus complexes où vous allez avoir différents modules et de nombreux fichiersavec des fois de nombreuses lignes de code, si vous ne mettez pas des noms de variables ou desnoms de fonctions extrêmement clairs, quand vous allez avoir un bug, croyez-moi, vous allez vousamuser. C'est ce que je vais présenter. Vous aviez Antoine et Joannot, si j'ai la bonne réponse.
00:19:44 :Donc là, pour ceux qui ne voient pas le chat, on met la longueur de la liste dans une variableet tout simplement, je vais reprendre ma liste. On va prendre notre crochet. Je rappelle, l'indice
00:20:12 :d'un élément de la liste, on commence par 0, 1, 2. Donc là, pour arriver à l'avant-dernière,on arrive à celle qui est avant la dernière valeur. La dernière valeur a toujours comme index la
00:20:29 :longueur de la liste moins 1. Donc là, si je veux récupérer l'avant-dernière, je vais utiliser lalongueur de la liste moins 2. On va tester ça et comme vous allez voir, effectivement, on sort le
00:20:49 :prénom. Donc, sur les listes, vous allez voir, quand on veut travailler avec ces listes et qu'ontravaille à rechercher un élément ou l'autre dans la liste ou qu'on veut sortir un autre élément,pour ceux qui n'étaient pas trop fanatiques des mathématiques, mauvaise nouvelle, il va falloirse remettre un petit peu. On passe souvent du temps sur les listes à essayer de déterminer
00:21:10 :alors c'est quel élément. En plus, comme Python a été très sympa et nous a fait commencer lesindex de listes à 0, vous verrez au début, si vous n'avez pas encore eu l'occasion de manipulerles listes, vous allez souvent vous dire, ah, un près, j'avais le bon. Ça c'est commun,
00:21:30 :après on prend vite le pied, ne vous inquiétez pas. Donc, voilà sur les listes et les indices,est-ce que c'est bon pour vous, ça c'est clair ? Je vous ai pas trop embrouillé ? Oui, c'est bon.
00:21:44 :OK. Alors, on va voir un petit truc en plus. On va recréer tout ça. On va créer une liste.OK. Alors, si je veux ajouter un élément à ma liste. Donc là, j'ai 1, 2, 3, 4, 5. Maintenant,
00:22:23 :je vais rajouter, par exemple, la valeur 9. Donc, pour ce faire, c'est assez simple.Ouais, j'avais pensé, j'ai oublié un truc. Je vais vous montrer ça avant qu'on passe plus sur
00:22:43 :les méthodes. Je vais reprendre ma liste là. On va faire autrement, je vais la reprendre.OK. Là, vous voyez, j'ai fait une liste de prénoms. Comment je peux
00:23:20 :faire ? Je ne connais pas la liste. Je ne sais pas comment elle est constituée. J'ai juste deséléments sur les objets qu'elle contient. D'accord ? Comment est-ce que je peux déterminer quel est
00:23:35 :l'indice, l'index qui correspond à Virginie, par exemple.Alors, les listes ont une méthode. Et comme je vous l'ai dit, c'est un objet. Donc, c'est comme
00:23:54 :une classe. Il y a des fonctions et des méthodes. Qui s'appelle index. Donc, si je fais la commandesuivante, on va l'imprimer après. Index, Virginie. Hop. Je l'affiche. Et comme vous voyez,
00:24:30 :il m'envoie l'index de 3. Donc, si on vérifie, on fait compte. 0, 1, 2, 3. Et donc, ça, ça marqueavec n'importe quelle valeur à partir du moment où vous savez qu'elle existe dans la liste.
00:24:44 :Si je fais genre, je lance. Hop, il m'envoie l'index de 3. Maintenant, si je rajoute undeuxième genre. D'accord ? Et que je relance ma fonction. On peut s'attendre à ce qu'il me
00:25:02 :renvoie l'index 1 et l'index 5. Puisqu'on a un genre en 1, un genre en 5. Et il renvoieclavecin. Pourquoi ? Parce que cette méthode va vous renvoyer l'index de l'objet dont la
00:25:20 :valeur est celle que vous avez placée dans les parenthèses. Mais il va renvoyer le premierqu'il trouve. C'est à dire que dès qu'il a trouvé une valeur qui correspond à genre,
00:25:33 :il s'arrête, il renvoie l'index. Fin de l'exécution. D'accord ? Donc attention,quand vous utilisez cette méthode, vous allez vouloir rechercher là, typiquement,le genre. Vous n'allez pas vous imaginer, parce que vous avez un index, qu'il n'y a qu'un seul
00:25:55 :genre dans la liste. D'accord ? On va continuer avec cette liste parce qu'on va pouvoir revenirun petit peu sur l'index après, justement. Comment on pourrait faire pour savoir s'il
00:26:11 :n'y a effectivement qu'un seul genre ? Puis qu'on a tout pensé, puisque les listes ontégalement une méthode qui s'appelle COUNT. Donc là, vous allez le voir, je lance cette
00:26:26 :fonction et là il va me compter le nombre de fois où il trouve la valeur genre dans la liste. Doncsi vous voulez, par exemple, trouver l'indice de genre et que vous ne savez pas s'il y en a unou plusieurs, vous pouvez très bien faire ma liste de COUNT, vous savez qu'il y a deux genres,
00:26:48 :donc vous cherchez le premier index de genre. Maintenant, vous savez qu'il y en a un deuxième,d'accord ? Du coup, vous allez utiliser ceci. Ici, vous allez mettre la valeur que vous avez
00:27:07 :eu dans COUNT. Et là, il va vous donner l'indice du premier et ici l'indice du suivant. Si c'est3, c'est le genre. Là, je relance. Voilà. Est-ce que ça marche en binaire ?
00:27:39 :Tac, tac, tac.Voilà. Donc là, il faut mettre, en fait, au bout. Voilà.Les indices max jusqu'à ce que vous êtes prêt à aller, d'accord ? Donc là, si je fais genre 7,
00:28:24 :ah, il y a un problème. Parce que là, le genre n'est plus en ligne. Parce qu'en fait, ici,tout bêtement, je vous ai mis une bêtise, c'est l'indice à partir duquel vous allezcommencer à rechercher. D'accord ? Alors, on va faire une petite méthode. Vous voyez,
00:28:52 :les listes apparaissent souvent simples, mais on a beaucoup d'options dessus. Là,on obtient notre index de genre. Donc, ce qu'on va faire, c'est un peu compliqué. Est-ce que
00:29:07 :les try-excepts, c'est bon pour tout le monde ? Vous avez tous vu plus ou moins les try-excepts ?Ok. Donc, on va jouer à ça avec un try-except. On va se faire une petite boucle wide. Voilà.
00:29:35 :On va faire un try. On va imprimer l'index de genre. Et pour commencer, on va commencerà l'indice 0. Ok ? Ensuite, except, on ne va pas récupérer la valeur d'erreur,
00:30:06 :parce qu'on ne nous intéresse pas. On va simplement break. Et là, voyons voir ce qui se passe.Ah oui. Autant pour moi. J'ai fait une boucle infinie. A ce moment, on va plutôt faire une
00:30:25 :variable comme ça, except, 0. Donc là, qu'est-ce qu'on va faire ? On va d'abord imprimerle premier genre qu'on trouve, en partant de l'indice 0. On va récupérer l'index concerné,
00:31:03 :on va y ajouter plus 1, et on va recommencer à boucler sur la liste. Donc là, normalement,ceci, c'est bon. Voilà. Donc là, qu'est-ce qui se passe ? Il trouve un genre à l'index 1.
00:31:16 :D'accord ? Du coup, il récupère cet index 1, il y ajoute plus 1. Donc il part à partir de l'index2, c'est-à-dire Antoine. Il continue, Virginie, Julie. Il arrive sur un genre. Genre, index 5,
00:31:32 :il va reprendre index 5, il va y ajouter 1. Il commence à un index 6, qui est celui-là. Ilretrouve un genre. Et après, comme il arrive à 7, et on l'a vu tout à l'heure, si on met 7 ici,
00:31:44 :ça cause une erreur. On a notre except, on sort de la boucle. Donc vous voyez qu'on peut,grâce à un petit script comme ça, boucler sur une liste et voir le nombre d'occurrences,voir où sont placées les occurrences de telle ou telle valeur.
00:31:58 :Ok ? Alors, maintenant, on va revenir sur quelque chose d'un peu plus consensuel,mais qui... Alors, avant de casser, on va faire ça d'abord, sinon je ne serai pas compté.
00:32:16 :Comment je pourrais faire pour ajouter un genre à Bandit ? Allez,on va arrêter avec les gens, on va passer au Antoine.Et bien, tout simplement, on va utiliser une méthode append. Alors, on va faire ma liste,
00:32:41 :point append, et on ajoute un Antoine. D'accord ? On va imprimer la liste pour que vous puissiezvoir. Parce que là, forcément, ça ne sera pas visible dans le code direct. Et là, on constate
00:33:07 :bien que sur notre liste, à la fin, on a un Antoine qui s'est ajouté. D'accord ?Maintenant, si je veux retirer un élément. Alors, il y a plusieurs notes. Ouais, je m'exercise,
00:33:34 :parce que c'est le plus simple. Alors, pour retirer un élément de la liste,le plus simple, c'est d'utiliser la méthode pop. Donc, par exemple, on va vouloir retirer le genre
00:33:53 :qui est ici en avant-dernière position. Donc, il se trouve ici maintenant. Pour le retirer,on va faire ma liste. Alors, pop. Et pour ce faire, on va utiliser l'index. Donc là,
00:34:16 :quel index je vais devoir mettre pour retirer le genre qui est ici ? Je vais retirer celui-là,précisément. L'index 5. D'accord. On va suivre la proposition de Johanna. Voilà,
00:34:39 :tout le monde est d'accord. On va recréer l'index 5. Et maintenant, je vais afficher ma liste.Donc, logiquement. Ok, ça a marché. J'ai bien un genre. On va faire ça pour vérifier.
00:35:01 :Comme il y a deux genres à la fin, ce n'est pas facilement clair. Effectivement,ça nous a bien retiré le genre. D'accord. On aurait pu utiliser tout simplement aussi ceci.
00:35:15 :1-3. Ça fonctionne exactement pareil. Un petit peu moins de calcul au passage pourceux qui sont allergiques au max. Maintenant, si j'ai décidé que finalement j'ai utilisé ma liste,
00:35:32 :j'ai tous les éléments. Si je veux tout simplement la vider, je vais repartir sur une liste complètementvierge. Alors oui, il y a aussi cette méthode-là. Remove. D'accord. On met la valeur. Sauf que là,
00:35:47 :on va se retrouver avec la même problématique que celle qu'on a eue tout à l'heure avec laméthode index. Il va retirer le premier genre qu'il trouve. D'accord. Donc, ça peut être utilisé
00:36:02 :comme méthode pour retirer un élément d'une liste. Maintenant, si vous savez, vous travaillez sur deslistes dans lesquelles vous pouvez avoir des doublons et vous voulez être sûr de retirer lebon élément et pas le premier qui tombe sous la main de la liste, et ainsi de suite, je vous conseille
00:36:17 :très fortement de préférer la méthode pop qui est beaucoup plus précise que la méthode remove.Donc, ce que je voulais montrer, c'est pas ça. Pour vider une liste, tout bêtement, c'est la méthode
00:36:31 :clear. On va imprimer la liste pour qu'on la voyez. Et là, on constate bien qu'à la fin,j'ai effectivement une liste qui est devenue une liste. Donc, je vais vous montrer maintenant.
00:36:47 :Alors, on a joué avec les listes. On a repéré leurs éléments. On a ajouté des éléments. Onen a enlevé. Maintenant, les listes permettent aussi autre chose. Et là, c'est tout simplement
00:36:59 :de modifier, plus ou moins à la volée, l'ordre des éléments qui se trouvent dedans. Donc,par exemple, si je veux la voir en sens inverse. Celle-là est très facile. Ma liste, point,
00:37:18 :reverse. Et là, je vais afficher ma liste. Et vous allez voir qu'effectivement, tous leséléments ont été tout simplement inversés. On peut aussi, vous allez voir, l'étrier. L'étrier,
00:37:38 :on va voir ça à la fin. Je vais d'abord vous montrer ça. Là, j'ai mes trois jambes. Et puis,je me dis, ouais, j'ai trois jambes dans la liste. Je n'ai jamais retrouvé lequel et quel
00:37:56 :jambe et quel jambe. C'est un peu compliqué. Mais ma liste est créée. Donc, je voudrais modifierles noms des jambes pour pouvoir me repérer. C'est-à-dire jambes 1, jambes 2 et jambes 3.
00:38:09 :Pour modifier la valeur, tout simplement, je vais prendre ma liste. On va utiliser notreindex comme on a vu tout à l'heure. Donc, le premier jambe, c'est le 1. Et on va dire que
00:38:33 :maintenant, c'est jambes 1. On va faire pareil avec les autres. Ma liste, hop, moins 2, hop,jambes 2. Et on fait avec le dernier, moins 1, jambes 3. Et on va afficher la liste. Là,
00:39:12 :vous allez voir qu'effectivement, chaque élément a bien été modifié. Alors,attention, c'est une attribution de variable. C'est comme quand vous modifiez une variabledu type chiffre égale 0. Et qu'après, vous faites chiffre égale 4. Techniquement,
00:39:47 :vous avez changé la valeur de la variable. C'est-à-dire que vous avez écrasé totalementla variable et vous l'avez changée. Dites-vous bien que chaque élément dans la liste,
00:39:56 :ça fait sa régie et ça se comporte exactement comme une variable. Je vais démontrer ça demanière un peu plus précise. Là, on va regarder juste ma liste 1 pour l'exemple.
00:40:14 :Hop, je vais mettre un chiffre à l'objet. On va mettre 0. Et si je fais ma liste 0,hop, vous connaissez ça pour incrémenter? 4. Je lance, hop, ma valeur a bien été augmentée de 4.
00:40:35 :Si je fais une boucle, hop, ça a bouclé 3 fois et ça vient ajouter 3 fois 4 à la valeur.D'accord? Donc, les éléments qui sont dans chaque liste se comportent bien chacun comme des
00:40:59 :variables. C'est bien un ensemble d'éléments. D'accord? En parlant d'addition, si, mettons,alors on va revenir au chiffre, ça va être un peu mieux. J'ai ma liste 1, 2, 3, 4, 5,
00:41:27 :6, 7, 8, 9, 10. Ok, et que je veux ajouter ma liste. Alors j'ai 2 possibilités,la première c'est l'extent que nous propose Guillaume, c'est à dire qu'avec ça on vaficher la liste, vous allez voir, on va avoir dans la liste le premier élément, tous leséléments des deux listes. On peut faire aussi ma liste égale ma liste plus ma liste. Hop,
00:42:32 :je le lance, effectivement j'obtiens le même résultat. Alors ça marche en addition pasen subtraction. Alors maintenant, je suis en train de réfléchir que j'essaye de corriger tout,
00:42:51 :parce que le dernier élément va être un petit peu plus, ah voilà. Je vais vous remontrer çadans le dernier élément, là on a une liste de chiffres, d'accord, mais admettons j'ai décidéde les afficher sous une forme de chaîne de caractère. Donc il y a une méthode qui existe,
00:43:11 :enfin une fonction, c'est la fonction join. Alors le strx c'est pas forcément nécessaire,mais on va le laisser. Là, ce qui va se passer, c'est qu'il va boucler sur les éléments de ma
00:43:35 :liste pour en faire une chaîne de caractères. Je pense qu'effectivement on a une chaîne decaractères. Maintenant je pourrais très bien faire ça comme ça aussi, normalement. Ah oui,
00:43:49 :d'accord, il faut que ce soit des caractères à l'intérieur. Mais si vous avez une liste quicontient différentes chaînes de caractères, vous pouvez très bien les rejoindre comme ça.
00:44:02 :Ça c'est des méthodes qu'on va souvent utiliser, par exemple, avec cette méthode-là. Alors on vadéborder un petit peu sur les chaînes de caractères. Je vais créer une phrase. Bonjour
00:44:22 :tout le monde, par exemple. Maintenant, on peut transformer une phrase en liste. Autremanière de créer des listes. Avec la méthode split. Cette méthode split, c'est trois chaînes de
00:44:41 :caractères. Ça crée une liste. Je l'affiche comme ça, vous allez voir. Crac, effectivement,il m'a bien mis à la place une liste comprenant chaque mot. Allez, on va s'amuser un petit peu,
00:44:58 :on va modifier la liste de la phrase. On va prendre l'avant-dernière, on va dire G. On vafaire la même chose avec G de la phrase, le moins un. Voilà. Et maintenant, on va joindre la
00:45:30 :phrase avec une méthode join, et vous allez voir, hop, on a modifié notre phrase. Donc ça,ça peut être utilisé pour manipuler, par exemple, si vous récupérez des fichiers texte, vous lisezavec d'autres méthodes que vous avez peut-être déjà vues, que vous verrez plus tard dans différentsmentorahs, vous récupérez les données du texte, et vous pouvez après manipuler certains éléments du
00:45:53 :fichier pour les transformer, les extraire, et éventuellement les réinjecter ou en ajouterd'autres dans le texte. Et pour faire ça, vous pouvez, effectivement, comme vous voyez là,
00:46:04 :passer par le texte. Ok. Donc, je vais terminer sur les deux derniers éléments qui me plaisentle plus à cœur, parce que ça, généralement, c'est un point sur lequel les gens ont beaucoupde mal. Je vais écrire les noms, il y en a peut-être qui ont déjà commencé à faire des
00:46:22 :cauchemars en les regardant écrits. Sorte et sortie. Alors, ces deux méthodes permettent detrier une liste. D'accord ? Alors, on va commencer par la première liste, la première méthode. C'est
00:46:52 :la méthode sorte. On va recréer notre liste ici. Alors, j'ai dit qu'on commençait par la méthodesorte. Ok. Là, ça ne marche pas. D'accord ? On va essayer avec sortie.
00:47:41 :Tac. Relance. Alors, ça ne marche pas ici. On ne va pas trier ce qu'on décrit.Voilà. Liste à trier. Alors, j'ai une erreur. Qu'est-ce qu'il me dit ? Ah oui, d'accord.
00:48:44 :J'ai compris. Autant pour moi. Voilà, ça va mieux marcher. On va pouvoir reprendre lecours des choses. Désolé pour ce petit... Voilà. Il est en train de me dire que j'avais oublié mon
00:49:02 :appui temps. Alors, ma liste totale. Sorte. Voilà. Ça ne me renvoie rien. Maintenant,si je fais sortie de ma liste totale. Là, j'ai ma liste triée. D'accord ? Alors,
00:49:33 :si je fais ça par contre. On va faire comme ça. Ma liste totale. On va la recréer. Parce quesinon, vous n'allez pas voir la différence. On a dit ma liste plus ma liste 2. Et là,
00:50:04 :on va faire ma liste totale. Point. Sorte. Ok ? Et on va l'imprimer. Et là, vous allez voirqu'il n'y en a aucun. On va l'imprimer ici pour que vous voyez bien les différences. Voilà.
00:50:19 :Tac. Alors, ici, on a le résultat de sortie de liste. D'accord ? Automatiquement, on a laliste qui a été triée. J'ai recréé la liste totale. On retrouve bien la liste qu'on a triée.
00:50:35 :Et après avoir appliqué la méthode sorte, je réimprime ma liste. Et c'est ma liste elle-même.C'est effectivement ce qu'il y a. On sait la différence. Sorted est une fonction. D'accord ?
00:50:48 :Donc, comme c'est une fonction, elle renvoie quelque chose. D'accord ? C'est-à-dire queelle, elle prend l'objet ma liste totale. Elle va prendre les différents éléments qui sont dedans.
00:51:01 :Elle va les trier donc par défaut. Parce qu'après, on peut aussi faire des précisions sur sorties.Je vous laisserai aller voir la doc pour aller un petit peu plus loin. Mais par défaut,
00:51:12 :elle va classer par exemple pour des chiffres du plus petit au plus grand,pour des caractères dans l'oral politique, ainsi de suite. Et elle va renvoyer l'objet trié.
00:51:22 :C'est-à-dire que le résultat de ce print là, qui est ici, techniquement, ce n'est plus le mêmeobjet que ma liste totale. Parce qu'en fait, dans sortie, il a pris ma liste totale, il a pris les
00:51:36 :valeurs, il les a triées et il les a mis dans une nouvelle liste. D'accord ? Donc là, comme ça,on renvoie un objet. Print, il accepte de prendre un objet en sortie. En entrée, pardon. Donc,
00:51:48 :il a un print. Lorsque j'ai fait tout à l'heure le print de ma liste sortes, le problème, c'estque sortes est une fonction. C'est une méthode, pardon. Et cette méthode, elle va agir sur l'objet,
00:52:00 :mais elle ne renvoie rien. C'est-à-dire qu'elle va modifier l'objet directement lui-même. Si vousutilisez Visual Studio Code avec les bonnes extensions et que vous avez un doute, vous voyez,vous pouvez faire ça. Là ici, on voit, il ne dit rien que sortie d'une fonction, qu'il ne renvoie
00:52:20 :rien. D'accord ? Par contre, si je vais sur sortes, il renvoie l'objet par entre. D'accord ? Ici,il nous dit qu'il renvoie l'objet. Maintenant, si je vais sur sortes, là, on voit bien qu'il
00:52:36 :renvoie un objet. Donc, il ne renvoie rien. Mais par contre, il a fait le feed de l'objet. Ok ?Est-ce que c'est clair pour vous, ça ? Généralement, c'est un petit point sur la liste
00:52:51 :où il y a un petit peu de mal. Oui, c'est bon. Donc, voilà, voilà. On a terminé par le plusdur. Généralement, alors pour ça, n'hésitez pas à bien travailler le sort et sortie sur les
00:53:09 :listes. Parce que c'est quelque chose sur lequel on a souvent beaucoup de mal. Et je ne vous cachepas que, de temps en temps, on prend un petit peu la tête pour dire, attends, c'est le sort oula sortie. Dans ce cas-là, je les utilise. Voilà. Il faut vraiment pratiquer, pratiquer,
00:53:27 :pratiquer pour que ça soit vraiment à l'effet. Voilà, voilà ce que j'aimerais vous dire surla liste de ce soir. On est déjà presque là. Je n'ai pas vu le temps passer. J'espère que
Aucune occurrence trouvée pour « ».
00:00:00
Introduction et mise en contexte de la session
00:01:57
Présentation des listes en Python et création d’objets liste
00:07:18
Accès aux éléments de la liste et affichage (boucles, index 0, -1, etc.)
00:11:32
Récupération d’indices et gestion de la longueur d’une liste
00:22:00
Ajout, retrait et réinitialisation des éléments (append, pop, remove, clear)
00:37:00
Transformation et modification de listes (inversion, join, split et modification d’éléments)
00:45:37
Tri des listes : utilisation de sort et sorted
00:53:54
Questions, échanges et conclusion de la session