Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Python : Les structures de données

Découvrir le module Collections

Testez gratuitement nos 1336 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Abordez le module Collections de Python, qui contient de nombreuses structures de données à connaître pour résoudre des problématiques diverses.
06:12

Transcription

Je vais terminer cette formation par deux modules intéressants, pour travailler avec les structures de données, et le premier module, c'est le module Collections. Je vais l'importer. Comme son nom l'indique, il comporte des collections. C'est à dire des structures de données, comme on en a vu, supplémentaires, sous forme de classes, et sous forme aussi de type abstrait, ce qu'on appelle des abstract data types. Des types de données abstraits qui vont nous permettre de manipuler différents types de collections et de structures selon nos besoins. Mais je vais vous en montrer juste une ou deux. Ici, je suis revenu avec mon remplissage de codes et de départements, donc j'ai deux tuples : mes codes et mes départements. Je vais utiliser ma première classe qui s'appelle counter, qui est assez amusante parce qu'elle va stocker une collection de paire clé-valeur, à partir de quelque chose que je vais lui donner ; une liste, et elle va simplement compter le nombre d'occurences. Comme dans une liste, on peut avoir des duplicats, et bien elle va récupérer chaque valeur unique en clé, et puis le nombre d’occurrences trouvé en valeur, ça va nous faire un dictionnaire. Par exemple, si avec une compréhension de listes ici, je veux avoir les premières lettres de mes départements, je vais avoir un counter qui va me compter le nombre de départements par initiale, je vais faire ça comme ça. Je vais dire, donne moi la première position de l'itérable qui sera chaque mot que je vais récupérer donc, de mes départements. Et donc ici, je suis en compréhension de liste, ça va me générer une liste avec des premières lettres. Je vais juste afficher le résultat. Et vous voyez que c'est un objet counter qui contient ici un dictionnaire. Si je veux le voir directement, je peux faire comme ceci, j'ai donc un dictionnaire, d'ailleurs je pourrai faire comme ça plutôt. Et puis ici, afficher par exemple, combien il y a de départements qui commencent par la lettre A. Il y en a onze. Voilà, facile non ? Et l'objet counter ne retourne pas directement un dictionnaire, vous l'avez vu. Mais il peut être utilisé comme un dictionnaire, comme vous le voyez, avec un clé, mais il a - c'est pour ça que c'est un objet - une ou deux propriétés intéressantes, notamment, il y en a une qui s'appelle most common, à laquelle vous envoyez en paramètres, le nombre que vous voulez récupérer. En fait c'est une méthode qui va vous retourner une liste. Par exemple, je veux les cinq plus communs, c'est à dire le top 5 si vous voulez. Et bien, je vais obtenir une liste des cinq lettres les plus rencontrées. Effectivement, H, vous voyez que c'est trié du plus grand au plus petit et H est la lettre la plus utilisée comme initiale de nom de département français. Ça c'est bon à savoir. Autre collection qui pourrait vous être utile, je ne vais pas l'utiliser ici mais c'est juste pour vous montrer: collections point ordered dictionnary, dictionnaire ordonné. On a vu que le dictionnaire était une table de hachage, et donc on a aucun ordre particulier. Si vous travaillez avec un ordered dict, les performances seront peut-être moindres ça c'est à vérifier, mais vous aurez quelque chose qui vous garanti que chaque fois que vous ajouter une valeur, ça se retrouvera à la fin. Donc vous gardez votre dictionnaire dans l'ordre d'ajout des paires clé-valeur. Donc ça peut être pratique, parce que vous pouvez toujours savoir quelle est la dernière valeur que vous avez ajouté, et puis la récupéré, travailler de cette façon là. Sinon, on est d'accord qu'un dictionnaire traditionnel n'a aucun ordre, vous ne savez jamais quelle est la dernière valeur que vous avez ajouté. Autre collection intéressante : le deque. Le deque est un type de donnée abstrait, qui correspond a une queue qui est, soit lifo, soit fifo. On a vu comment on faisait ça, avec une liste. On pourrait le faire avec une liste, mais le deque peut être plus performant dans ce cas là, et avoir déjà des méthodes adaptées. Donc qu'est-ce qu'un deque? Si vous avez une queue, normalement vous êtes en fifo. C'est à dire comme dans une file d'attente, vous entrez dans la file, et puis c'est le premier qui est entré qui sort en premier. Comme si vous aviez une file d'attente pour de l'impression, par exemple. Vous dîtes : j'envoie des documents à l'imprimante., c'est le premier document qui a été envoyé qui sera imprimé. Et puis vous avez des stacks, on en a parlé, c'est du lifo. Le stack c'est quelque chose qu'on empile comme des assiettes, et si vous avez la dernière assiette qui a été posée tout en haut, c'est la première qu'on va prendre, quand on fait la vaisselle par exemple. Et bien un deque est l'accumulation des deux, en tout cas la combinaison des deux. Si vous faîtes un deque, vous pouvez ajouter en append à la fin, ou en append left au début, et vous ajoutez une valeur. Vous pouvez de la même façon faire un pop traditionnel, enlever le premier entré ou bien travailler en stack en faisant un pop left, en enlevant la valeur qui a été entrée en dernier. Ce que vous pouvez faire aussi, c'est bien sûr faire un count, ça c'est assez classique, pour savoir où vous en êtes, bien sûr. Ce que vous pouvez faire également c'est faire une rotation, alors vous pouvez retourner avec un reverse, mais vous pouvez faire une rotation, donc vous dîtes : je fais une rotation de combien ? et ça veut dire que le dernier, celui qui est tout à droite, va être positionné en premier, celui qui est tout à gauche. Enfin ça dépend, premier ou dernier, comme vous l'entendez selon l'ordre de la queue. Mais, on va dire qu'on va prendre celui qui est tout à droite, et puis on va le positionner à gauche. Donc, on est en train de faire une rotation petit à petit de la queue, pour le positionner, celui qui est à la fin vient au début, ça vous permet de gérer votre file, si vous avez ce type de besoin.

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 !