Python : Les structures de données

Joindre des listes

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Dans cette vidéo, apprenez à joindre des listes puis à retourner une chaîne de caractères générée à partir de la jonction d’une liste tout entière.
07:29

Transcription

Nous avons fait un petit détour sur l'unpacking, revenons à nos moutons. Donc, je commente ceci, ce que je veux maintenant, c'est récupérer dans mon département, la fin qui comporte un certain nombre de lettres. Comment est-ce que je peux découper une liste pour l'attribuer par exemple, à deux variables ? Alors, on a vu qu'on pouvait utiliser cette syntaxe mais on peut l'utiliser ici en indiquant des parties de notre liste. Alors, on peut essayer de faire ça comme ça : l1 on n'en a pas besoin forcément de l1 et l2, mais comme ça on observe un petit peu et puis, on se passera du début. Mais je pourrais dire, "bon , je veux prendre par exemple, deux départements, tous les éléments à partir de, jusqu'à..." Donc, ça on est d'accord, on est sur un opérateur de slicing, on va trancher notre liste pour retourner des morceaux de la liste. On pourrait par exemple, trouver la première occurence de n, pourquoi pas. Et pour ça, on utiliserait la méthode index, vous vous souvenez. Mais bon, ici on sait que c'est à la fin, alors on va agir plutôt avec des positions des index. Est-ce qu'on peut positionner avec un opérateur de slicing notre début ou notre fin, quelque part, par rapport à la fin, par exemple ? Est-ce qu'on peut commencer à une certaine position de la fin ou du début ? Alors, je vais vous illustrer ce que j'entends par là. On va commenter tout ça, on va faire un print, on recommence. Donc, on a un print de département, OK. Et je voudrais récupérer par exemple, avec mon opérateur de slicing, seulement un partie de ma liste. Et si je n'agis pas à partir du début, je vais peut-être avoir deux besoins : Partir de la fin pour récupérer un certain nombre d'éléments ou partir d'une position de début mais qui est en rapport avec une position de la fin. Vous allez comprendre. Donc, ceci me donne tout, on est d'accord. Ceci, par exemple, si je fais -2 d'abord, va me retourner à partir de la fin, ici, -2 à partir de la fin, jusqu'à la fin ici. Donc je vais avoir e l. C'est pas mal ! Et donc je peux faire comme ça, si je veux Neuchâtel, on est d'accord, je prends la longueur de Neuchâtel. Voilà, j'ai Neuchâtel et il me reste plus qu'à récupérer ça et à joindre. On va voir comment on fait ça. Donc, c'est plutôt pas mal ! Qu'en est-il d'ailleurs de l'autre possibilité, puisqu'on a vu qu'on pouvait faire 1 - 2, ici et qu'en est-il de ceci ? Qu'est-ce que ça, ça veut dire ? Et bien, ça veut dire bien entendu, tout depuis le début, jusqu'à Neuchât e l et bien, jusqu'à -2 positon, à partir de la fin. Donc avec cette syntaxe, soit vous placez le négatif avant, ce qui veut dire, on part de la fin et on récupère un certain nombre, jusqu'à la fin. Soit, vous le mettez après et donc, on part du début et on va jusqu'à un certain nombre avant la fin. C'est relativement simple à comprendre. Donc, j'ai ce qu'il me faut ici, et je peux très bien maintenant, sans utiliser des l1 et l2 d'ailleurs, faire l1 est égal à ceci. Et donc travailler maintenant avec mon l1. Voilà un bon début. Sur ce sujet, j'aimerais faire une parenthèse, parce que cette syntaxe, si je la reprends telle quelle, comme ceci, elle est parfois utilisée comme ça. Alors, réflechissez un instant, pourquoi est-ce qu'on ferait ça ? Qu'est-ce que ça veut dire ? On est d'accord que, on l'a essayé avant, ça donne exactement la même chose que départements. Parce que départements, du début jusqu'à la fin, et bien, c'est toute la liste. Alors, pourquoi est-ce que j'aimerais l'attribuer à une autre variable ? Et bien, si vous avez l'habitude des langages de programmation, de la façon dont ils sont construits, ça a du sens parce qu'on va faire une copie de la liste. Je vais vous montrer quelque chose. Au lieu de faire ceci, si je fais ça. Je vais vous illustrer la différence. Donc ceci et je vais utiliser une fonction qui s'appelle id. id retourne l'adresse. On est bien sûr dans un langage qui va créer des objets, ces objets, ils ont une adresse en mémoire, on va les référencer par leur adresse. Quand on va manipuler un objet, on va appeler son adresse et récupérer l'objet. Donc la fonction id, que je vais passer dans un print, me donne l'adresse. Je vais prendre l'adresse de l1 et puis je vais faire, bien entendu, un print de l'adresse de départements. Et puis, ça, on n'en a pas besoin. J'ai fait l1 est égal à départements, cette affectation ici, n'a pas pris départements et créé une copie en mémoire de départements dans l1. Il a fait simplement en sorte que l1 et départements soient deux variables qui aient la même adresse, qui pointent au même endroit, qui pointent sur le même objet. Parce que ça va économiser beaucoup de mémoire. Et donc, j'ai la même adresse ici. Mais si j'utilise cette syntaxe, ce que je fais, c'est que je retourne à slice, un tranche de ma liste. Et cette tranche, c'est une nouvelle liste qui a été générée à partir de la liste originelle. Et donc, je n'ai pas la même adresse, j'ai une copie. Et maintenant, si je commence à travailler avec l1 et à modifier des choses et bien, je vais le modifier indépendemment de départements. Par contre, si j'avais fait ça et bien, ensuite, je commence à manipuler l1 et ça change aussi départements. Parce qu'en fait, c'est le même objet avec la même adresse. OK, donc c'est pour ça qu'on fait ça de temps en temps. Donc, on en revient à nos moutons, qui étaient ceci où j'ai maintenant Neuchâtel et je voudrais simplement le joindre. Comment est-ce qu'on fait un join d'une liste? Et bien, ce n'est pas, comme peut-être dans d'autres langages, une méthode comme ceci. Parce que join, c'est quelque chose qui en Python, retourne toujours une chaîne de caractères et on peut faire un join d'autres choses que des listes. Donc, si je dois prendre tous les itérables et faire des joins sur tous les itérables, c'est-à-dire, des méthodes, je vais avoir beaucoup de méthodes à gérer. Parc contre, la façon dont c'est organisé, c'est qu'on va prendre une chaîne de caractères, par exemple chaîne vide, et puis sur cette chaîne, donc sur l'objet str, je vais avoir un join. Et je lui passe un itérable en paramètres. Je vais lui passer donc l1. Et la syntaxe est assez sympathique parce que si je veux faire un join avec des espaces, je fais comme ceci. Voyez Neuchâtel. Si je veux faire un join avec des points, je fais comme ceci. Et en fait, ça veut dire, "tu prends cet itérable et tu places cette chaîne entre chaque élément et tu retournes une chaîne de caractères." Donc voilà, ça fonctionne comme ça. Et maintenant, je fais une chaîne vide et voila mon Neuchâtel en retour. Ouf ! On y est arrivé !

Python : Les structures de données

Maîtrisez les ressources du langage de programmation Python. Abordez en détail les structures de données natives telles que les listes, les tuples et les dictionnaires.

2h07 (23 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :30 août 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !