python 得到列表(list)中每一個元素(重複項)出現次數的最快解決方法

如何使用python快讀統計列表中重複項出現的次數?html

這個問題在實際應用場景中使用頻率比較普遍。本文講解一下經常使用的方法:python

第一種使用標準庫提供的collections:segmentfault

from collections import Counter
import numpy
num=1000000
lst = np.random.randint(num / 10, size=num)
# 返回的值是字典格式如{'xx':8,'xxx':9}
res = Counter(lst)    
# 輸出的是出現次數最後的數據如[('xxx', 8), ('xxx', 5),]
Counter(words).most_common(4)

第二種使用numpy模塊(更快)dom

import numpy

num=1000000
lst = np.random.randint(num / 10, size=num)
dict(zip(*np.unique(lst, return_counts=True)))

第三種使用list.count()方法(最慢)post

import numpy

num=1000000
lst = np.random.randint(num / 10, size=num)
dic = {}
for i in lst:
    dic[i] = lst.count(i)

原文網址:
http://www.chenxm.cc/post/333...code

相關文章
相關標籤/搜索