读取文件并使用python中的字典获取前3个单词

时间:2016-11-14 19:00:09

标签: python file dictionary counter

我创建了一个函数,用文件中的单词创建一个字典,值是单词的频率,名为read_dictionary。我现在尝试制作另一个按计数打印文件前三个单词的函数,所以它看起来像这样: " fileName中的前三个单词是: 字:数字 字:数字 字:数字"

这就是我的代码:

 def top_three_by_count(fileName):

  freq_words = sorted(read_dictionary(f), key = read_dictionary(f).get,
   reverse = True)

  top_3 = freq_words[:3]
  print top_3
 print top_three_by_count(f)

1 个答案:

答案 0 :(得分:0)

您可以使用collections.Counter

from collections import Counter
def top_three_by_count(fileName):
      return [i[0] for i in  Counter(read_dictionary(fileName)).most_common(3)]

实际上你根本不需要read_dictionary()功能。以下代码片段为您完成整个过程。

with open('demo.txt','r') as f:
    print Counter([i.strip() for i in f.read().split(' ')]).most_common(3)