Гораздо более простым и чистым решением было бы следующее:
file = open("ipsum.txt", "r")
wordcount={}
for word in file.read().split():
if word not in wordcount:
wordcount[word] = 1
else:
wordcount[word] += 1
for k,v in wordcount.items():
print k,v
И более питонический способ был бы:
from collections import Counter
file = open("ipsum.txt", "r")
wordcount = Counter(file.read().split())
Вы также можете отсортировать их, используя
wordcount = sorted(wordcount.items(), key=lambda x:x[1], reverse=true)