首頁  >  文章  >  後端開發  >  如何在 Python 中按頻率對列表中的單字進行計數和排序

如何在 Python 中按頻率對列表中的單字進行計數和排序

Barbara Streisand
Barbara Streisand原創
2024-10-21 21:38:31756瀏覽

How to Count and Sort Words by Frequency in a List in Python

按頻率對清單中的單字進行計數和排序

此任務涉及建立一個資料結構,該資料結構有效地表示給定單字中單字的頻率列表。一種簡單的方法涉及兩個列表:一個用於唯一單詞,另一個用於相應的頻率。要根據頻率對單字進行排序,我們需要利用頻率清單中儲存的資訊。

使用計數器的 Python 實作

在 Python 中實作此操作,而不使用高階像字典一樣構造,我們可以利用集合模組中的 Counter 類別。這個類別可以方便地追蹤單字頻率,提供一個簡單的解決方案。

下面的程式碼片段示範如何使用 Counter 類別:

<code class="python">from collections import Counter

list1 = ['apple', 'egg', 'apple', 'banana', 'egg', 'apple']
counts = Counter(list1)</code>

此程式碼建立一個名為 counts 的 Counter 對象,包含詞頻。 print(counts) 語句輸出以下內容:

Counter({'apple': 3, 'egg': 2, 'banana': 1})

預設情況下,Counter 類別會依照字母順序對單字進行排序。但是,我們可以透過提供一個關鍵函數作為 most_common() 方法的參數來自訂排序行為。例如,要根據頻率對單字進行降序排序:

<code class="python">sorted_words = sorted(counts, key=lambda x: x[1], reverse=True)</code>

總之,Counter 類別提供了一種根據頻率對單字進行計數和排序的有效方法,而不需要複雜的資料結構,例如字典。

以上是如何在 Python 中按頻率對列表中的單字進行計數和排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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