首页  >  文章  >  后端开发  >  如何在 Python 中按频率对列表中的单词进行计数和排序

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

Barbara Streisand
Barbara Streisand原创
2024-10-21 21:38:31756浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn