Mon Labo Python

Comment utiliser les listes Python pour organiser ses données de débutant

Comment utiliser les listes Python pour organiser ses données de débutant

Il pleut encore sur Clermont-Ferrand ce soir, un de ces crachins qui ne donne envie que d'une chose : rester en chaussettes à la cuisine avec une grosse tasse de thé. C'est exactement là que je suis, avec mon vieux PC portable qui ronronne sur mes genoux, dégageant une chaleur presque réconfortante pendant que je cherche désespérément où j'ai bien pu oublier une virgule dans mon script. Mon écran est un chaos illisible.

Avant de continuer, je préfère vous le dire en toute franchise : ce carnet contient quelques liens affiliés. Quand un achat passe par eux, une commission m'est versée — le prix que vous payez reste exactement le même pour vous. Je ne mentionne que les ressources qui ont réellement accompagné mes soirées d'apprentissage, comme le cours qui m'a sauvée de la noyade l'hiver dernier.

Le jour où j'ai arrêté de jongler avec dix balles

Un soir de novembre, j'ai réalisé que ma façon de coder était... disons, épuisante. J'essayais de créer une simple liste de courses dans un script. J'avais écrit quelque chose comme article1 = 'pommes', article2 = 'pain', article3 = 'beurre'. Arrivée à l'article 10, je ne savais plus où j'en étais. C'était comme essayer de porter chaque ingrédient d'un gâteau un par un dans ses mains depuis le magasin jusqu'à la maison. Ridicule, non ?

C'est là que j'ai ouvert le chapitre sur les listes dans ma formation fétiche, Formation au langage Python [Mon point de départ]. J'y ai découvert qu'on pouvait créer un seul "panier" (une liste) pour y mettre tous nos objets. En Python, ce panier se reconnaît à ses crochets : []. C'est tout bête, mais ça a changé ma vie de débutante. Au lieu de dix variables, je n'en avais plus qu'une seule, bien rangée. J'ai même pensé un instant à regarder du côté de la formation JavaScript, mais je me suis dit que je devais d'abord maîtriser mes paniers ici.

Liste de courses manuscrite à côté d'un clavier d'ordinateur

Le choc de l'index 0 : pourquoi l'ordinateur ne compte pas comme moi

Vers la mi-février, j'ai eu mon premier vrai moment de solitude. J'avais enfin ma liste : courses = ['carottes', 'chocolat', 'lait']. Je voulais afficher le premier élément, les carottes. Naturellement, j'ai tapé quelque chose pour demander l'élément numéro 1. Et là, c'est le drame : Python m'a sorti le chocolat.

J'ai passé une heure à fixer mon écran, ma tasse de thé refroidissant lamentablement à côté du clavier. C'est là que j'ai appris la règle d'or : en Python, le premier index d'une liste est 0. Pas 1. Jamais 1. C'est déroutant au début, comme si on habitait au rez-de-chaussée et que pour l'ordinateur, c'était l'étage zéro. J'ai fait l'erreur classique d'écrire liste[3] pour obtenir mon troisième légume, et j'ai vu s'afficher en rouge vif le fameux IndexError: list index out of range. C'est un message qui fait peur, mais qui veut juste dire : "Pauline, tu cherches un truc qui n'existe pas dans ton panier".

Une fois qu'on a intégré que 0 est le début, tout devient plus fluide. C'est un peu comme apprendre à installer Python sur Windows : la première fois c'est la panique, la deuxième on se demande pourquoi on a stressé.

Expression de frustration devant un écran affichant une erreur Python

Ajouter des éléments sans tout casser

Après environ trois semaines de pratique, j'ai découvert la méthode .append(). C'est ma petite victoire personnelle. Imaginez que vous êtes à la caisse et que vous réalisez que vous avez oublié les chewing-gums. Avec .append(), vous rajoutez exactement 1 élément à la fin de votre liste. C'est propre, c'est net.

J'ai testé ça sur un script qui comptait mes heures de sommeil. Chaque matin, je rajoutais une donnée. Au début, ma liste était vide. Si on utilise la fonction len() sur une liste vide, le résultat est 0. C'est logique, mais le voir s'afficher sur la console m'a donné un sentiment de contrôle incroyable. J'ai commencé à me sentir un peu plus comme quelqu'un qui comprend ce qu'il fait, même si je suis encore loin de savoir manipuler des fichiers Excel avec Python comme une pro.

Il y a aussi cette liberté géniale : les listes Python peuvent contenir des types de données mixtes. On peut y mettre du texte, des nombres entiers, et même d'autres listes ! C'est un peu le tiroir de cuisine où on range à la fois les piles, les élastiques et les vieux tickets de caisse. C'est bazar, mais c'est autorisé.

Tiroir de cuisine désordonné métaphore de la flexibilité des listes Python

Les limites de mes petits paniers

Une fin d'après-midi le mois dernier, en discutant avec un ami qui travaille dans la data, j'ai réalisé que mes listes avaient leurs limites. Il m'expliquait que pour les étudiants en sciences de données qui manipulent des jeux de données massifs (des millions de lignes !), les listes standard de Python saturent la mémoire vive et ralentissent tout. Ils doivent passer à des outils plus costauds comme NumPy ou Pandas.

Pour moi, à ma petite table de cuisine, mes listes sont parfaites. Mais c'est intéressant de savoir que si un jour je veux faire de l'IA ou de l'analyse météo complexe, je devrai apprendre à ranger mes données autrement. Pour l'instant, je me contente de réussir mes boucles. D'ailleurs, j'ai ressenti un vrai soulagement physique, les épaules qui se relâchent enfin, quand ma boucle for a affiché tous les éléments de ma liste dans l'ordre pour la première fois. Si vous galérez avec ça, j'ai écrit un petit mot sur comment comprendre les boucles for et while sans s'arracher les cheveux.

Femme soulagée après avoir réussi son premier script Python

Ce que je retiens de mes soirées "Listes"

Apprendre les listes, ce n'est pas juste apprendre de la syntaxe. C'est apprendre à organiser sa pensée. C'est passer du mode "je note tout sur des post-it volants" au mode "j'ai un carnet bien tenu". Ce n'est pas encore de la haute technologie, mais mes données sont enfin rangées et mon code ne ressemble plus à un champ de bataille.

Si vous débutez aussi et que vous cherchez une structure pour ne pas abandonner, je ne peux que vous conseiller de jeter un œil à la Formation au langage Python [Mon point de départ]. C'est celle qui m'a permis de transformer mes erreurs rouges en petites victoires vertes. On reste parfois un peu seule face aux exercices, mais les leçons sont assez courtes pour tenir dans une soirée de semaine après le boulot.

Demain, j'essaierai peut-être de comprendre comment on retire un élément d'une liste sans tout faire exploser. Mais pour ce soir, je ferme l'ordinateur. Le thé est fini, et je crois que j'ai bien mérité de décrocher un peu des crochets. Et vous, c'est quoi le truc qui vous a fait le plus bugger dans les listes ?

Articles connexes