Python:独特的单词及其频率降序排列

时间:2012-06-11 10:38:43

标签: python word unique frequency

我正在为一个Python类做一个非常简单的作业问题,涉及到关于字符,单词及其相对频率等的各种统计数据。目前我正在尝试分析一串文本并获取每个文本的列表文本中的唯一单词,后跟其使用次数。我对Python(或任何语言)知识非常有限,因为这是一门入门课程,因此只提出以下代码:

for k in (""",.’?/!":;«»"""):
    text=text.replace(k,"")
text=text.split()
list1=[(text.count(text[n]),text[n]) for n in range(0,len(text))]
for item in sorted(list1, reverse=True):
    print("%s : %s" % (item[1], item[0]))

这不幸地打印出文本的每个单词(按照出现的顺序),然​​后是频率n, n次。显然这是非常无用的,我想知道我是否可以在我已编写的内容中添加一些漂亮的小代码,使每个单词只出现在此列表中一次,然后最终按降序排列。我见过的所有其他问题都使用了很多我们还没有学过的代码,所以我认为答案应该相对简单。

1 个答案:

答案 0 :(得分:6)

看看collections.Counter。您可以使用它来计算您的单词频率,它将帮助您使用most_common方法按排序顺序打印出列表。

(没有示例代码,因为这是homework question,您必须自己一些工作。)