提高效率的 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