2017-07-25 34 views
0

如果元素是長度爲2的數組,那麼是否有一種有效的方法來查找列表中最經常出現的元素?用於多維數組列表的模擬argmax(PYTHON)

例子:

l = [(1,0),(1,0),(1,1),(0,0),(1,0)] 

我想這回:(1,0)的出現的最頻繁。

看起來很簡單,但我找不到辦法做到這一點。

回答

2

你可以使用collections.Counter

>>> import collections 
>>> l = [(1,0),(1,0),(1,1),(0,0),(1,0)] 
>>> c = collections.Counter(l) 
>>> c.most_common(1) 
[((1, 0), 3)] 

否則,你可以使用max以拉姆達爲key參數

>>> max(l, key = lambda i: l.count(i)) 
(1, 0) 
+0

這工作就像一個魅力,非常感謝CoryKramer! :)它說我必須等待9分鐘才能接受正確的答案,所以很快就會完成 – user8188120