按频率对列表中的单词进行计数和排序
此任务涉及创建一个数据结构,该数据结构有效地表示给定单词中单词的频率列表。一种简单的方法涉及两个列表:一个用于唯一单词,另一个用于相应的频率。要根据频率对单词进行排序,我们需要利用频率列表中存储的信息。
使用计数器的 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中文网其他相关文章!