Python實戰從入門到精通第五講——數據結構與算法3之序列中出現最多的元素

怎麼找到序列中出現次數最多的元素呢?

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

 

發佈了367 篇原創文章 · 獲贊 188 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章