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

标签 python word unique frequency

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

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 次。显然这是非常无用的,我想知道我是否可以在我已经编写的代码中添加一点漂亮的代码,使每个单词只出现在这个列表中一次,然后最终按降序出现。我看到的所有其他类似问题都使用了很多我们没有学过的代码,所以我认为答案应该相对简单。

最佳答案

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

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

关于Python:独特的单词及其频率降序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10978546/

相关文章:

c# - 使用索引查找字符串中的任何单词

api - Airbnb API key 对于每个用户来说不是唯一的

python - 在 python 脚本中执行 python 脚本

python - 将函数应用于小数据帧 : shape mismatch: value array of shape (4, ) 无法广播

Python 一行 if 语句有两个 Action

javascript - 提取多个对象值

ruby-on-rails - 在 Ruby 中通过对象属性进行 Uniq

python - Django 测试 : no data in temporary database file

c++ - 在字符串中查找下一个单词

php - 在PHP中有没有一个工具可以获取一个词的所有派生词?