总结单词出现在列表中的次数,并将值和单词放在字典中?

时间:2016-10-25 00:34:50

标签: python list dictionary sum

我有一个任务,我必须创建一个包含函数列表的模块,其中一个字符串被写入文件。我坚持的部分是我必须花费一个单词出现在输入字符串中的次数,并将其添加到字典中。字典的关键字是单词,值将是单词出现在字符串中的次数。

def word_freq_dict(): # function to count the amount of times a word is in the input string
   file = open("data_file.txt", 'r')
   readFile = file.read() #reads file
   words = readFile.split() #splits string into words, puts each word as an element in a list

其他功能起作用,我确定了。到目前为止我所做的就是把它们放到一个列表中。我想总结每个单词在列表中出现的次数,并将其添加到字典中,其中单词为关键字,并显示为值的次数。此功能不会返回任何内容。

1 个答案:

答案 0 :(得分:0)

有一种非常简单的方法可以做到这一点:

word_count = {}
for word in words:
    word_count[word] = word_count.get(word,0) + 1

通过在dict.get()函数中使用0作为默认值,当第一个出现时,它返回0。如果单词已经在字典中,则返回键的当前值。然后你只需在每次迭代中加1。