取得無序列表中元素的頻率
考慮一個無序列表,例如a = [5, 1, 2, 2, 4、3、1、2、3、1、1、5、2]。目標是確定清單中每個唯一值的頻率。期望的輸出類似 b = [4, 4, 2, 1, 2],表示值 1 出現四次,2 出現四次,3 出現兩次,4 出現一次,5 出現兩次。
在 Python 中,此任務的一個便利解決方案是利用 collections.Counter 類別。在Python 2.7 及更高版本中,此類簡化了對無序集合中元素出現次數進行計數的過程:
import collections a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2] counter = collections.Counter(a)
collections.Counter 物件counter,保存清單中每個唯一值的計數。您可以使用各種方法存取計數:
按照指定的順序獲取計數在問題中,您可以按排序順序迭代鍵:
[counter[x] for x in sorted(counter.keys())]
如果您使用的是Python 2.6 或更早版本,您可以下載來自提供的連結的collections.Counter 的實現,並在您的程式碼中使用它。
以上是如何有效率地統計Python無序列表中的元素頻率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!