我正在为一个涉及字符、单词及其相对频率等的各种统计信息的 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 次。显然这是非常没用的,我想知道是否可以在我已经编写的内容中添加一些漂亮的代码,以使每个单词只出现在这个列表中一次,然后最终按降序排列。我见过的所有其他类似问题都使用了很多我们没有学过的代码,所以我认为答案应该相对简单。