1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| from collections import Counter
from re import findall
import locale
locale.setlocale(locale.LC_ALL, ('fr_FR', 'UTF-8'))
texte = '''
C'est l'évadé, du Névada.
Qui s'évada dans, la vallée
Dans la vallée, du Névada ?
Qu'il dévala, pour s'évader
Sur un vilain vélo volé !
Qu'il a volé, dans une villa
Et le valet, qui fut volé.
Vit l'évadé, qui s'envola
'''
phrase = texte.lower()
# \u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF can substitute for \u00C0-\u00FF to exclude ×÷
z = findall('[a-zA-Z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]*', phrase)
# dans l'ordre alphabéthique !
lst = sorted([x for x in z if x != '' and len(x) > 2], key=locale.strxfrm)
cnt = Counter(lst)
for key, value in cnt.items():
print('{} : {}'.format(key, value))
'''
dans : 3
dévala : 1
envola : 1
est : 1
évada : 1
évadé : 2
évader : 1
fut : 1
névada : 2
pour : 1
qui : 3
sur : 1
une : 1
valet : 1
vallée : 2
vélo : 1
vilain : 1
villa : 1
vit : 1
volé : 3
''' |
Partager