import word
def word_freq(filename):
hist = {}
for w in word.words_in_file(filename):
hist[w] = hist.get(w, 0) + 1
return hist
def print_freq(hist, top=10):
# Use list comprehension to construct sortable list
by_count = [(count, word) for (word, count) in hist.items()]
# "sorted" defaults to ascending order, use "reverse" for descending
for count, word in sorted(by_count, reverse=True)[:top]:
print("\t%s: %d" % (word, count))
if __name__ == "__main__":
filename = "../bee.txt"
print("%s:" % filename)
print_freq(word_freq(filename), 5)