Python 中的项目频率计数
如何有效地计算给定列表中每个唯一单词的出现次数?考虑以下代码:
<code class="python">words = "apple banana apple strawberry banana lemon" uniques = set(words.split()) freqs = [(item, words.split().count(item)) for item in uniques] print(freqs)</code>
虽然此方法有效,但它需要对列表进行两次迭代,一次用于创建唯一的单词集,另一次用于计算出现次数。我们可以优化这个吗?
解决方案:使用 Counter 类
Python 集合模块提供了专门为此任务设计的 Counter 类。以下是如何使用它:
<code class="python">from collections import Counter words = "apple banana apple strawberry banana lemon" Counter(words.split()) # Output: Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})</code>
Counter 类对提供的可迭代中每个项目的出现次数进行计数,从而生成一个字典,其中键是唯一项目,值是它们的计数。这种方法更有效,因为它只需要对输入列表进行一次迭代。
以上是如何高效统计Python列表中单词出现的次数?的详细内容。更多信息请关注PHP中文网其他相关文章!