wordfreq.py
22 lines
| 638 B
| text/x-python
|
PythonLexer
Brian E Granger
|
r1337 | """Count the frequencies of words in a string""" | |
def wordfreq(text): | |||
"""Return a dictionary of words and word counts in a string.""" | |||
freqs = {} | |||
for word in text.split(): | |||
freqs[word] = freqs.get(word, 0) + 1 | |||
return freqs | |||
def print_wordfreq(freqs, n=10): | |||
"""Print the n most common words and counts in the freqs dict.""" | |||
words, counts = freqs.keys(), freqs.values() | |||
items = zip(counts, words) | |||
items.sort(reverse=True) | |||
for (count, word) in items[:n]: | |||
print word, count | |||
if __name__ == '__main__': | |||
import gzip | |||
text = gzip.open('HISTORY.gz').read() | |||
freqs = wordfreq(text) |