我必须使用 python 计算文本中的词频。我想把单词保存在字典里,并对每个单词进行计数。
现在,如果我必须根据出现次数对单词进行排序。我可以用同一个字典而不是使用一个新字典来做吗?它的键作为计数,单词数组作为值?
最佳答案
警告:此示例需要 Python 2.7 或更高版本。
Python 的内置 Counter
对象正是您要寻找的。计数单词甚至是文档中的第一个示例:
>>> # Tally occurrences of words in a list
>>> from collections import Counter
>>> cnt = Counter()
>>> for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
... cnt[word] += 1
>>> cnt
Counter({'blue': 3, 'red': 2, 'green': 1})
如注释中所述,Counter
采用可迭代对象,因此上面的示例仅用于说明,相当于:
>>> mywords = ['red', 'blue', 'red', 'green', 'blue', 'blue']
>>> cnt = Counter(mywords)
>>> cnt
Counter({'blue': 3, 'red': 2, 'green': 1})
关于python - 使用python排序的词频计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4088265/