首頁  >  文章  >  後端開發  >  如何有效率地統計Python列表中單字出現的次數?

如何有效率地統計Python列表中單字出現的次數?

DDD
DDD原創
2024-10-30 17:02:26803瀏覽

How to Efficiently Count Word Occurrences in a Python List?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn