Python 计算文本文件中唯一字总数的函数
我使用的是Python3,我正在尝试编写一个函数来计算文本文件中唯一单词的总数。我在下面写了一些代码,但当我运行它时,由于某种原因,我只得到26个唯一的单词,而实际上应该至少有200个。有人能发现我的代码有问题吗Python 计算文本文件中唯一字总数的函数,python,text-files,Python,Text Files,我使用的是Python3,我正在尝试编写一个函数来计算文本文件中唯一单词的总数。我在下面写了一些代码,但当我运行它时,由于某种原因,我只得到26个唯一的单词,而实际上应该至少有200个。有人能发现我的代码有问题吗 def countUniqueWords(): words = open('phrases.txt') numberofUniqueWords = {} for word in words: try: numberof
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())
您正在迭代文件中的章程,而不是单词。您需要使文件成为一个单词列表,其中包含
words=open('phrases.txt')。read().split()
。您还应该确保删除任何标点符号。1)使用集合而不是字典
2) words
只是一个字符串,您需要使用.split()
来获取字符串中的单词
def countUniqueWords():
words = open('phrases.txt')
uniqueWords = set(words.split())
return len(uniqueWords)
print(countUniqueWords())
看看你正在数的“单词”,你会发现它们是单个字母。每个
单词都是文本文件中的一行。你应该先拆分它words.split()
。我想提两件事:1。您没有关闭您的文件。使用.close()
或带有关键字的。2.使用print(countUniqueWords())
,您正在打印countUniqueWords
的返回值,但是countUniqueWords
此时不返回任何内容。您好!我尝试使用您的代码,但我一直收到错误“Python:AttributeError:”\u io.TextIOWrapper对象没有属性“split”'Nvm,明白了!非常感谢:)