|
123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- title: Nombre d'occurences d'un mot dans un texte en Python
- slug: nombre-doccurences-dun-mot-dans-un-texte-en-python
- date: 2008-12-06 15:19:20
- type: thought
- vignette:
- contextual_title1: La documentation Django en local (html et pdf)
- contextual_url1: 20081204-la-documentation-django-en-local-html-et-pdf
- contextual_title2: Interfaces et promotion du Web Sémantique
- contextual_url2: 20081203-interfaces-et-promotion-du-web-semantique
- contextual_title3: 24ways, le calendrier de l'Avent des geeks web
- contextual_url3: 20081201-24ways-le-calendrier-de-lavant-des-geeks-web
-
-
-
- Juste un petit snippet car j'en ai eu besoin récemment pour faire des statistiques sur des termes recherchés et je pense que ça peut être utile :
-
- from itertools import groupby
-
- def word_frequencies(content, blacklist):
- """
- Count the number of words in a content, excluding blacklisted terms.
- Return a generator of tuples (count, word) sorted by descending frequency.
-
- Example::
-
- >>> song = 'Ob la di ob la da "rla di da" da "da"'
- >>> for count, word in word_frequencies(song, ['di']):
- ... print "%s %s" % (count, word)
- ...
- 4 da
- 2 la
- 2 ob
- 1 rla
- """
- sorted_words = sorted(word \
- for word in content.lower().replace('"', '').split() \
- if word not in blacklist)
- return ((len(list(group)), word) for word, group in groupby(sorted_words))
-
- if __name__ == "__main__":
- import doctest
- doctest.testmod(verbose=True)
-
-
- À adapter selon votre convenance, si vous avez mieux je suis preneur, comme toujours.
|