【发布时间】:2013-12-28 22:22:05
【问题描述】:
我正在使用 Python 3.3
我需要创建两个列表,一个用于唯一单词,另一个用于单词的频率。
我必须根据频率列表对唯一单词列表进行排序,以便频率最高的单词在列表中排在第一位。
我有文本设计,但不确定如何在 Python 中实现它。
目前我发现的方法要么使用Counter,要么使用我们没有学过的字典。我已经从包含所有单词的文件中创建了列表,但不知道如何找到列表中每个单词的频率。我知道我需要一个循环来执行此操作,但无法弄清楚。
这是基本设计:
original list = ["the", "car",....]
newlst = []
frequency = []
for word in the original list
if word not in newlst:
newlst.append(word)
set frequency = 1
else
increase the frequency
sort newlst based on frequency list
【问题讨论】:
-
我们很难知道你知道什么。你学会
set了吗?列表的count方法?等等。用有意义的术语界定问题。 -
为什么不允许你使用你没有学过的东西?这些天不鼓励提前学习吗?
-
Trie 将是一个相当有效的选择。您可以仅使用列表构建一个
-
请考虑接受答案。
标签: python python-3.x list frequency word