怎麼找到序列中出現次數最多的元素呢?
collections.Counter類就是專門爲這類問題設計,甚至有一個most_common直接給出答案
假設一個數字列表想找出哪個數字出現頻率高
words = [1,1,1,1,2,3,3,3,4,4,5,6,7,8]
from collections import Counter
word_counts = Counter(words)
top_three = word_counts.most_common(3)
print(top_three)
### 輸出
[(1, 4), (3, 3), (4, 2)]
作爲輸入,Counter對象可以接受任意的由可哈希元素構成的序列對象,在底層實現上,一個Counter對象就是一個字典,將元素映射到它出現的次數上。比如:
word_counts[1]
word_counts[2]
### 輸出
4
1