計算無序列表中的元素頻率
此程式設計困境尋求一種解決方案來計算無序列表中元素的頻率。給定一個值列表,目的是確定列表中出現的每個不同元素的計數。
使用 Collections.Counter 的 Python 實作
對於 Python 版本2.7 及更高版本中,統計元素頻率的一種便利方法是使用 collections.Counter 類別。以下是如何利用Counter 來解決問題:
import collections a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2] counter = collections.Counter(a) # Extract the frequencies in the desired order frequencies = [counter[x] for x in sorted(counter.keys())]
這個方法會產生一個頻率列表[4, 4, 2, 1, 2],對應於原始資料中每個唯一元素的計數列表(a),即1 的4 個實例、2 的4 個實例、3 的2 個實例、4 的1 個實例和 2的實例5.
2.7 之前的 Python 版本的注意事項
如果使用 Python 2.6 或更早版本,下載 Counter 的外部實作是另一個途徑。這樣的實現很容易在線上獲得。
以上是如何高效率統計無序列表中元素出現的頻率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!