Exemple de comment obtenir le nombre de mots dans un texte (manuscript) en python:
Obtenir le nombre de mots dans un texte
Soit le texte suivante (extrait ici de wikipedia)
txt = "Le français est une langue indo-européenne de la famille des langues romanes. Le français s'est formé en France (variété de la « langue d'oïl », qui était la langue de la partie septentrionale du pays). Le français est déclaré langue officielle en France en 15395"
Pour obtenir le nombre de mots on peut par exemple utiliser split():
list_of_words = txt.split()
print(list_of_words)
['Le', 'français', 'est', 'une', 'langue', 'indo-européenne', 'de', 'la', 'famille', 'des', 'langues', 'romanes.', 'Le', 'français', "s'est", 'formé', 'en', 'France', '(variété', 'de', 'la', '«', 'langue', "d'oïl", '»,', 'qui', 'était', 'la', 'langue', 'de', 'la', 'partie', 'septentrionale', 'du', 'pays).', 'Le', 'français', 'est', 'déclaré', 'langue', 'officielle', 'en', 'France', 'en', '15395']
puis len():
print("Number of words in text: ", len(list_of_words))
donne
Number of words in text: 45
Obtenir le nombre de mots dans un texte sans les doublons
1: Supprimer les caractères spéciaux
Pour supprimer les caractères spéciaux on peut utiliser isalnum():
list_of_words = [''.join(e for e in word if e.isalnum()) for word in list_of_words]
print(list_of_words)
donne
['Le', 'français', 'est', 'une', 'langue', 'indoeuropéenne', 'de', 'la', 'famille', 'des', 'langues', 'romanes', 'Le', 'français', 'sest', 'formé', 'en', 'France', 'variété', 'de', 'la', '', 'langue', 'doïl', '', 'qui', 'était', 'la', 'langue', 'de', 'la', 'partie', 'septentrionale', 'du', 'pays', 'Le', 'français', 'est', 'déclaré', 'langue', 'officielle', 'en', 'France', 'en', '15395']
2 - Supprimer les éléments vides ""
list_of_words = [word for word in list_of_words if word]
print(list_of_words)
3 - Pour supprimer les doublons on peut utiliser set() comme ceci:
list_of_words = list(set(list_of_words))
4 - Obtenir le nombre de mots sans les doublons
print("Number of words in text: ", len(list_of_words))
donne
Number of words in text: 27