计算文本文件中唯一单词总数的函数

时间:2018-11-15 01:25:02

标签: python text-files

我正在使用Python 3,并且试图编写一个函数来计算文本文件中唯一单词的总数。我在下面编写了一些代码,但是当我运行它时,由于某种原因,实际上我至少应该有200个唯一的单词,所以我只能得到26个唯一的单词。有人能发现我的代码有问题吗?

def countUniqueWords():
    words = open('phrases.txt')
    numberofUniqueWords = {}
    for word in words:
         try:
             numberofUniqueWords[word] += 1
         except KeyError:
             numberofUniqueWords[word] = 1
    print(len(numberofUniqueWords))

print(countUniqueWords())

2 个答案:

答案 0 :(得分:1)

您正在遍历文件中的章程而不是单词。您需要使用words = open('phrases.txt').read().split()将文件制成单词列表,并且还应确保删除所有标点符号。

答案 1 :(得分:0)

1)使用集合而不是字典 2)words只是一个字符串,您需要使用.split()才能获取字符串中的单词。

def countUniqueWords():
    words = open('phrases.txt')
    uniqueWords = set(words.split())
    return len(uniqueWords)

print(countUniqueWords())