Dans cette courte vidéo en français, le présentateur montre comment, à l'aide de Python, compter la fréquence d'apparition de chaque mot dans un texte. Il commence par définir une chaîne de caractères (exemple tiré de la page d'accueil de son site) et explique que l’on peut remplacer cette chaîne statique par une entrée utilisateur via input(). Il décrit chaque étape du traitement : conversion du texte en minuscules pour uniformiser la casse, suppression des caractères de ponctuation en les remplaçant par des espaces, découpage du texte en mots avec split() pour obtenir une liste lst, élimination des doublons en convertissant lst en un ensemble S, conversion optionnelle de S en liste L puis tri alphabétique avec sort(). Enfin, il parcourt L et, pour chaque mot, utilise lst.count(mot) pour afficher la fréquence, formatant la sortie avec la méthode format(). Le narrateur insiste sur la bonne pratique de vérifier les variables à chaque étape et encourage le spectateur à ré‑essayer l’exemple avec d’autres approches pour consolider les acquis.
Chapters
Imaginez que l'on dispose d'un texte et on souhaite savoir combien de fois chaque mot apparaît-il dans celui-ci. À titre d'exemple, si on a la chaîne de caractères Merci à tous et à bientôt, on affichera à l'écran Merci figure 1 fois, à figure 2 fois, tous figure 1 fois, et figure 1 fois, bientôt figure 1 fois. Remarquez que nous avons affiché à une seule fois mais avec une fréquence de 2, car elle figure 2 fois dans le texte. Donc, je présume que vous avez compris pour quelle finalité nous utiliserons les ensembles, justement pour éliminer les doublons au moment de l'affichage. On commence par initialiser une chaîne de caractères pour le test. Il s'agit d'un texte que j'ai copié de la page d'accueil de mon site web. Si la chaîne occupe plusieurs lignes, alors il faut la délimiter par des triples simples quotes ou doubles quotes comme on a vu avant. Vous pouvez si vous voulez remplacer cette chaîne statique par une chaîne qui sera saisie par l'utilisateur en utilisant la fonction Input. La première opération consiste à transformer notre texte en minuscule. De cette façon, on évite que le même mot soit pris pour 2 mots différents parce qu'il est écrit avec une casse différente. Le fait de vérifier le résultat d'exécution de chaque segment du code en cours de saisie est une bonne pratique en programmation. Moi, je vais juste afficher mes variables au fur et à mesure pour être sûr que mes traitements tiennent la route. Nous allons ensuite supprimer les caractères indésirables et qui pourraient fausser notre traitement comme les marques de ponctuation, les apostrophes, les parenthèses, etc. Donc, nous créons une chaîne qui contient tous ces symboles-là et que l'on nommera sup. Maintenant, on va remplacer chacun de ces symboles par un espace au cas où ils figurent dans la chaîne initiale. Donc, nous allons parcourir la chaîne sup à l'aide de la boucle For afin de remplacer chaque occurrence par un espace. Si on affiche str, on constate que les marques de ponctuation ont disparu. Maintenant, on va diviser notre chaîne au niveau des espaces blancs à l'aide de la méthode split qu'on a vue dans la vidéo consacrée aux chaînes de caractères. De cette façon, on crée une liste nommée lst. Et qui contient tous les mots de notre chaîne initiale. Vu qu'il y aura forcément des mots qui se répètent dans la chaîne et par conséquent dans la liste lst, alors nous allons éliminer ces doublons-là en transformant notre liste en un ensemble que l'on appellera S. Maintenant que les doublons ont été éliminés, il serait mieux de retransformer notre ensemble en liste encore une fois. Notez que cette opération est facultative mais j'ai décidé de l'exécuter afin de trier les mots dans l'ordre alphabétique vu que l'ordre dans l'ensemble peut changer à chaque fois. J'ai opté pour l'identifiant L pour notre liste. Ensuite, on procède au tri de la liste L à l'aide de la méthode sort. Maintenant, c'est au tour de l'opération la plus importante, c'est-à-dire celle qui permet d'afficher la fréquence des mots dans le texte initial. Pour ce faire, on va juste parcourir notre liste L à l'aide de la boucle For puis on affiche le nombre de fois que chaque élément de la liste L figure dans la liste lst à l'aide de la méthode count. Pour l'affichage, j'ai opté pour une chaîne de caractères formatée à l'aide de la méthode format. Je vous conseille de refaire cet exemple en essayant de changer d'approche afin de mieux consolider vos acquis et savoir comment combiner toutes les notions que nous avons vues jusqu'ici.