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中文網其他相關文章!