Aller au contenu
Enregistrer la vidéo (6,1 Mo)
Ouvrir le cours

Leçons ·

Ranger ses données

Listes, compréhensions et dictionnaires : ranger les ventes d'Awa pour les retrouver et les calculer.

Transcription

Jusqu'ici, Awa a surtout manipulé une valeur à la fois. Mais sa boutique enregistre des dizaines de ventes chaque jour, et elle ne va pas créer une variable pour chacune. Il lui faut un meuble avec plusieurs casiers, et en Python, ce meuble s'appelle une liste.

Pour créer une liste, on ouvre un crochet, on écrit les valeurs séparées par des virgules, puis on ferme le crochet. Chaque valeur entre alors dans son casier, et les casiers restent dans le même ordre.

Et comment retrouve-t-elle une vente précise ? Par le numéro de son casier, qu'on appelle l'indice. Et voici le point qui surprend tout le monde : en Python, on commence à compter à partir de zéro. Le premier casier porte donc le numéro 0, le deuxième le numéro 1, et le troisième le numéro 2.

Il existe aussi une astuce très pratique : l'indice moins 1 désigne toujours le dernier casier, quel que soit le nombre de casiers. Awa n'a donc pas besoin de les compter.

Pour lire un casier, on écrit le nom de la liste, puis le numéro entre crochets. Ici, ventes de 0 donne 1500, et ventes de moins 1 donne 800.

Et quand une nouvelle vente arrive ? Elle utilise la méthode append, qui veut dire ajouter à la fin. Une méthode, c'est une action propre à un objet, et on l'écrit après un point. Regardez : un nouveau casier apparaît, et il porte le numéro 3.

Enfin, la fonction len, qui vient du mot anglais pour longueur, compte les casiers. Il y en a maintenant quatre. Remarquez bien la différence : quatre casiers, mais le dernier porte le numéro 3, puisqu'on a commencé à zéro.

Si elle ne veut garder que les grosses ventes, elle doit écrire une boucle et une condition ? Elle peut, mais comme ce besoin revient très souvent, Python propose une écriture plus courte, qu'on appelle une compréhension de liste.

Elle se lit presque comme une phrase. Prends chaque valeur v de la liste ventes, et garde-la si elle atteint 1000. Les crochets autour indiquent que le résultat sera une nouvelle liste.

Python regarde donc chaque casier : 1500 est gardé, 2300 aussi, mais 800 ne l'est pas. Une nouvelle rangée apparaît avec les deux grosses ventes, et la première liste, elle, ne change pas.

Une liste convient bien quand l'ordre compte. Mais pour décrire un article, Awa ne veut pas se rappeler que le prix est dans le casier numéro 1. Elle préfère une fiche, où chaque information porte un nom, et en Python, cette fiche s'appelle un dictionnaire.

On l'écrit entre accolades. Chaque ligne de la fiche est faite de deux éléments séparés par deux-points : à gauche la clé, c'est-à-dire le nom de l'information, et à droite sa valeur. C'est comme dans un vrai dictionnaire, où l'on cherche un mot pour trouver sa définition.

Donc elle demande directement le prix, sans se demander où il se trouve ? Exactement. Elle écrit le nom du dictionnaire, puis la clé entre crochets et entre guillemets, et Python lui donne 800.

Et si elle demande une information qui n'est pas sur la fiche, comme le stock ? Avec les crochets, Python ne trouve pas cette clé, et il s'arrête sur une erreur appelée KeyError, c'est-à-dire une erreur de clé.

Quand une information peut manquer, on utilise donc plutôt la méthode get. On lui donne la clé cherchée, puis une valeur de secours. Si la clé n'existe pas, Python n'affiche pas d'erreur : il rend simplement cette valeur de secours, ici le mot absent.

En réunissant les deux, Awa obtient son vrai cahier de ventes. C'est une liste, donc entre crochets, et chacune de ses lignes est un dictionnaire, entre accolades. Chaque clé joue le rôle d'une colonne du cahier. Donc c'est déjà un tableau de données ?

Oui, et elle peut déjà calculer dessus. Cette dernière ligne prend le montant de chaque vente, puis la fonction sum les additionne, ce qui donne 3800. C'est exactement de là que partira la bibliothèque pandas, au module suivant.

En attendant, essayez sans revoir la vidéo. Dans la leçon, vous allez compter et additionner par vous-même, puis corriger un code écrit par une intelligence artificielle. Si vous vous trompez sur un numéro de casier, ne vous inquiétez pas : cela arrive à tout le monde au début.

Voix : Google Chirp 3 HD (Despina, Enceladus).

Photos : One Idea LLC, StockSnap, CC0

PartagerWhatsAppLinkedInFacebookXTelegram