Dans cette courte vidéo en français, le présentateur montre comment, à partir d’une chaîne de caractères, compter le nombre d’occurrences de chaque mot en utilisant les ensembles (sets) de Python pour éliminer les doublons. Le processus commence par la définition d’une chaîne de texte (exemple tiré de la page d’accueil du site), puis : 1. Conversion du texte en minuscules pour uniformiser la casse. 2. Suppression des caractères de ponctuation en les remplaçant par des espaces à l’aide d’une boucle `for` sur une chaîne contenant les symboles indésirables. 3. Découpage du texte en mots avec `split`, créant ainsi une liste `lst`. 4. Conversion de cette liste en un ensemble `S` afin de supprimer les doublons, puis (optionnellement) reconversion en liste `L` et tri alphabétique avec `sort`. 5. Parcours de la liste triée `L` et affichage, pour chaque mot, du nombre de fois où il apparaît dans la liste originale `lst` grâce à la méthode `count`. L’affichage utilise une chaîne formatée via `format`. Le présentateur insiste sur la bonne pratique de vérifier les variables à chaque étape et encourage les spectateurs à expérimenter d’autres approches pour consolider leurs 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 d'un 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.