提高效率的 Python 中项目频率计数
计算列表中项目的出现次数是一项常见的编程任务。这个问题探讨了在 Python 中解决此问题的更有效方法。
最初提供的代码虽然功能强大,但涉及到对列表进行两次迭代,从而导致性能不佳。关键的挑战在于找到一种 Pythonic 方法来计算项目出现次数,而无需重复遍历列表。
解决方案在于利用集合模块中的 Counter 类。 Counter 专为频率计数而设计,提供了一种简洁有效的方法来实现所需的结果。下面的代码演示了其用法:
from collections import Counter
words = "apple banana apple strawberry banana lemon"
Counter(words.split())
此代码片段将输入字符串拆分为单个单词,并将结果列表传递给 Counter。结果是一个类似字典的对象,其中键代表唯一的单词,值代表其相应的计数。在此示例中,输出将为:
Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})
Counter类内部采用哈希表来存储数据,提供恒定时间的查找和插入操作。这种方法消除了第二次迭代的需要,并显着提高了项目频率计数的性能。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3