如何在 Python 中按频率对列表中的单词进行计数和排序

Barbara Streisand
发布: 2024-10-21 21:38:31
原创
779 人浏览过

How to Count and Sort Words by Frequency in a List in Python

按频率对列表中的单词进行计数和排序

此任务涉及创建一个数据结构,该数据结构有效地表示给定单词中单词的频率列表。一种简单的方法涉及两个列表:一个用于唯一单词,另一个用于相应的频率。要根据频率对单词进行排序,我们需要利用频率列表中存储的信息。

使用计数器的 Python 实现

在 Python 中实现此操作,而不使用高级像字典一样构造,我们可以利用集合模块中的 Counter 类。这个类可以方便地跟踪单词频率,提供一个简单的解决方案。

下面的代码片段演示了如何使用 Counter 类:

<code class="python">from collections import Counter

list1 = ['apple', 'egg', 'apple', 'banana', 'egg', 'apple']
counts = Counter(list1)</code>
登录后复制

此代码创建一个名为 counts 的 Counter 对象,包含词频。 print(counts) 语句输出以下内容:

Counter({'apple': 3, 'egg': 2, 'banana': 1})
登录后复制

默认情况下,Counter 类按字母顺序对单词进行排序。但是,我们可以通过提供一个关键函数作为 most_common() 方法的参数来自定义排序行为。例如,要根据频率对单词进行降序排序:

<code class="python">sorted_words = sorted(counts, key=lambda x: x[1], reverse=True)</code>
登录后复制

总之,Counter 类提供了一种根据频率对单词进行计数和排序的有效方法,而不需要复杂的数据结构,例如字典。

以上是如何在 Python 中按频率对列表中的单词进行计数和排序的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!