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.